1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > php使用gmail发送邮件 PHP使用gmail发邮件

php使用gmail发送邮件 PHP使用gmail发邮件

时间:2019-07-28 11:00:49

相关推荐

php使用gmail发送邮件 PHP使用gmail发邮件

实验室要举办一个会议,要我做一个会议的网站。使用了开源的openconf,十分省事。但发邮件简单的使用了PHP的mail函数,没有经过SMTP认证,发送的邮件很可能出现在对方的垃圾箱里,甚至会被退信。搜索了一下有很多PHP类库支持利用SMTP发送邮件,比如PHPMailer。

下面是利用PHPMailer实现的一个函数以及简单的测试代码。【注意,运行此函数需要openconf源代码根目录下的class.phpmailer.php和class.smtp.php】

请将“yourgmail@”替换成你的gmail,写上对应密码。将“test@”改为要你要测试的邮箱。

//下面定义一个发送邮件的函数,已经测试通过。

//$sendto_email:邮件发送地址

//$subject:邮件主题

//$body:邮件正文内容

//$sendto_name邮件接受方的姓名,发送方起的名字。一般可省。

function stmp_mail($sendto_email, $subject = null, $body = null, $sendto_name = null) {

//vendor ( "PHPMailer.class#phpmailer" ); //导入函数包的类class.phpmailer.php

require_once("class.phpmailer.php");

$mail = new PHPMailer (); //新建一个邮件发送类对象

$mail->IsSMTP (); // send via SMTP

$mail->Port = 25; //发送端口

$mail->Host = "ssl://:465"; // SMTP 邮件服务器地址,这里需要替换为发送邮件的邮箱所在的邮件服务器地址, 这里使用了gmail的SMTP设置

$mail->SMTPAuth = true; // turn on SMTP authentication 邮件服务器验证开

$mail->Username = "yourgmail@"; // SMTP服务器上此邮箱的用户名,有的只需要@前面的部分,有的需要全名。请替换为正确的邮箱用户名

$mail->Password = "******"; // SMTP服务器上该邮箱的密码,请替换为正确的密码

$mail->From = "yourgmail@"; // SMTP服务器上发送此邮件的邮箱,请替换为正确的邮箱,$mail->Username 的值是对应的。

$mail->FromName = "yourName"; // 真实发件人的姓名等信息,这里根据需要填写

$mail->CharSet = "utf-8"; // 这里指定字符集!

//$mail->Encoding = "base64";

$mail->AddAddress ( $sendto_email, $sendto_name ); // 收件人邮箱和姓名

//$mail->AddReplyTo('yourgmail@',"管理员");//这一项根据需要而设

//$mail->WordWrap = 50; // set word wrap

//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 附件处理

//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");

//$mail->IsHTML ( true ); // send as HTML

$mail->Subject = $subject; // 邮件主题

// 邮件内容

/*

$mail->Body = "

$mail->AltBody = "text/html";

*/

$mail->Body = $body;

if (! $mail->Send ()) {

//邮件发送失败

return false;

} else {

//邮件发送成功

return true;

}

}

//function end

?>将上面代码存为gmail.php,编写下面的main.php

require_once "gmail.php";

echo "send mail begin";

echo " ";

if(stmp_mail("your@","subject","body"))

echo "success";

else

echo "failed";

echo " ";

echo "send mail end";

?>

使用浏览器访问mail.php测试。

______________UPDATED .04.27___________________________________

下面市openconf需要做的更改:

将上述文件gmail.php放在opencof根目录

修改include.php

require_once "gmail.php";

替换函数oc_mail:

function oc_mail($to, $subject, $body, $hdr='', $enc='quoted-printable') {

global $OC_configAR;

$headers = (empty($hdr) ? $OC_configAR['OC_mailHeaders'] : $hdr);

$headers = "MIME-Version: 1.0\r\n" . $headers . "\r\nContent-Type: text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: " . $enc;

$headers = preg_replace("/\r/", "", $headers);

return (stmp_mail($to, $subject, $body));

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。