PHP 使用 Pear 的 Net_SMTP 通过 Gmail SMTP 发信
转载
这个内容实在是有些简单,封装的也很简单,但是有时候确实会用上……
[phpcode]
function sendMail($sAddress, $sSubject, $sContent) {
$sFrom = "user@gmail.com"; // 改成自己的信箱
$sPassword = "password"; // 密码
require_once("Net/SMTP.php");
$sData = "Subject: =?UTF-8?B?".base64_encode($sSubject)."?=\n"
."MIME-Version: 1.0\n"
."Content-Type: text/plain; charset=\"UTF-8\"\n"
."Content-Transfer-Encoding: base64\n"
."\n"
.chunk_split(base64_encode($sContent));
$oMail = new Net_SMTP("ssl://smtp.gmail.com", 465);
$oMail->connect();
$oMail->auth($sFrom, $sPassword, "LOGIN");
$oMail->mailFrom($sFrom);
$oMail->rcptTo($sAddress);
$oMail->data($sData);
$oMail->disconnect();
}
$sAddress = "otherone@gmail.com";
$sSubject = "测试标题 ".date("H:i:s");
$sContent = "测试正文 ".date("H:i:s");
sendMail($sAddress, $sSubject, $sContent);
[/phpcode]
搞了半天也没搞出来如何修改自己的称谓(“Nickname <user@gmail.com>”这种)
使用 smtp 发送还有一个原因就是,自己机器走 sendmail 据说被 gmail 检查的很严格,搞不好就成了 spam。而且程序在 win32 和 linux 之间切也很麻烦