您的位置:首页 > 编程语言 > PHP开发

PHP使用JMail发送邮件

2008-11-13 11:45 477 查看
我的机子上没有安装邮件服务器,无法用自带的mail()函数发送邮件,空间所在虚拟主机上也没有,socket和PHPMailer也不支持,但是Jmail这个组件却有,于是便参考网络和文档,测试通过下面一段邮件发送代码:


程序代码
<?php

$jmail=new COM("JMail.Message")or die("无法调用Jmail组件");

//屏蔽例外错误,静默处理

$jmail->silent=true;

//编码必须设置,否则中文会乱码

$jmail->charset="gb2312";

//发信人邮件地址和名称,能自定义,可以和邮件发送账号不同

$jmail->From="admin@domain.com";

$jmail->FromName="webmaster";

//添加多个邮件接受者

$jmail->AddRecipient("xxxx@yeah.net");

$jmail->AddRecipient("xxxx@gmail.com");

$jmail->AddRecipient("xxx@qq.com");

//邮件主题和正文信息

$jmail->Subject="PHP+Jmail测试发送邮件";

$jmail->Body="PHP+Jmail测试发送邮件正文文本";

//发信邮件账号和密码

$jmail->MailServerUserName="xxxx@sogou.com";

$jmail->MailServerPassword="123456";

try{

//发送的时候附带SMTP发信服务器地址

$retval=$jmail->Send("smtp.mail.sogou.com");

if($retval)

echo "发送成功";

else

echo "发送失败";

}catch(Exception $e){

echo $e->GetMessage();

}

?>

发信账号必须有smtp发信权限,对于网易的邮箱,06年后注册的新邮箱好像不行,早期的倒可以。

还有,最好设置$jmail->silent=true,不让jmail自行抛出错误信息,在设置正常的时候,频繁发信会出现一些错误,据我估计应该是发信服务器设置了发信时间间隔。

经测试,我所用的发信邮箱账号sogou邮箱,能够正常向网易、QQ、GMail邮箱发送邮件信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: