PHP调用Gmail发送邮件
大家对PHP的mail()函数一定都很熟悉,它简单易用,这里就不介绍了。如果你不知道怎么用,请查看PHP的在线手册。但是mail()并不是在任何服务器上都可以用的。下面是两个使用mail()的主要先决条件:
- 1.服务器必须安装有sendmail
- 2.smtp服务器无需鉴权(authentication)
比如自家的服务器,我在'Ubuntu命令行发送邮件到远端'一文里介绍过这个问题。 今天我准备介绍另外一种方法: PEAR:Mail + Gmail。首先,安装PEAR Mail, 这需要3个模块:NET/SMTP, Mail,Net/Socket。
如果你用的是RedHat,具体步骤如下:
1. 下载文件:# cd /tmp# wget http://download.pear.php.net/package/Mail-1.1.14.tgz# wget http://download.pear.php.net/package/Net_SMTP-1.2.10.tgz# wget http://download.pear.php.net/package/Net_Socket-1.0.8.tgz2. untar 所有文件:# tar -zxvf Mail-1.1.14.tgz# tar -zxvf Net_SMTP-1.2.10.tgz# tar -zxvf Net_Socket-1.0.8.tgz3.安装文件:# cd /usr/share/pear# mkdir Net# cd Net# cp /tmp/Net_SMTP-1.2.10/SMTP.php .# cp /tmp/Net_Socket-1.0.8/Socket.php .# cd ..# cp -avr /tmp/Mail-1.1.14/Mail/ .# cp -avr /tmp/Mail-1.1.14/Mail.php .
如果你用的是Ubuntu,相对要简单一些:
1.如何你还没有装PEAR:sudo apt-get install php-pear2.有了pear以后,直接使用下面的命令:(提示:使用 ‘--alldeps’ 可以自动安装Mail的相关模块)sudo pear install --alldeps Mail
安装好Pear的Mail模块后,你就可以使用PHP代码调用Gmail来发送邮件了。下面的代码可供参考:
<?phprequire_once "Mail.php";$from = "Adam <adam@gmail.com>";$to = "Cindy <cindy@61dh.com>";$subject = "Hi!"; //邮件主题$body = "Hi,\n\nHow are you?"; //邮件内容$host = "smtp.gmail.com";$username = "adam"; //gmail用户名$password = "mima-pass"; //gmail密码$headers = array ('From' => $from,'To' => $to,'Subject' => $subject);$smtp = Mail::factory('smtp',array ('host' => $host,'auth' => true,'username' => $username,'password' => $password));$mail = $smtp->send($to, $headers, $body);if (PEAR::isError($mail)) {echo("<p>" . $mail->getMessage() . "</p>");} else {echo("<p>Message successfully sent!</p>");}?>
参考资料:
https://help.ubuntu.com/community/PhpPear
http://www.cyberciti.biz/tips/howto-php-send-email-via-smtp-authentication.html



4 条评论:
CentOS下和RedHat差不多吗?
作者
Showfom, 时间
2009年6月3日 上午6:29
没试过。应该是!
作者
D Cai, 时间
2009年6月3日 上午9:59
blogger.com又可以访问了。
我想知道 左下角 那个点击可以上下滑动是怎么制作的。
很实用。
作者
沿阶草, 时间
2009年6月10日 上午7:12
Re:沿阶草
曾经打算在日志介绍这个上下滑动,但是由于某种原因没有成行。哈哈,今天专门给你写一篇 :-)
http://www.61dh.com/blog/2009/06/jquery-css.html
作者
D Cai, 时间
2009年6月10日 上午10:58
发表评论
指向此帖子的链接: