PHP使用JMail发送邮件

我的机子上没有安装邮件服务器,无法用自带的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邮箱发送邮件信息。
posted @ 2008-11-13 11:45  shaoyun  阅读(2475)  评论(0编辑  收藏  举报