设为首页收藏本站
开启辅助访问
切换到宽版

创星网络[分享知识 传递快乐]

 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博登录

只需一步,快速搞定

搜索
查看: 3176|回复: 0
打印 上一主题 下一主题

在PHP使用JMail发送邮件

[复制链接]

我玩的应用:

跳转到指定楼层
楼主
发表于 2012-10-7 00:07:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的机子上没有安装邮件服务器,无法用自带的mail()函数发送邮件,空间所在虚拟主机上也没有,socket和PHPMailer也不支持,但是Jmail这个组件却有,于是便参考网络和文档,测试通过下面一段邮件发送代码:
   程序代码

  1. <?php

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

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

  4. $jmail->silent=true;

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

  6. $jmail->charset="gb2312";

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

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

  9. $jmail->FromName="webmaster";

  10. //添加多个邮件接受者

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

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

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

  14. //邮件主题和正文信息

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

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

  17. //发信邮件账号和密码

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

  19. $jmail->MailServerPassword="123456";

  20. try{

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

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

  23.     if($retval)

  24.     echo "发送成功";

  25.     else

  26.     echo "发送失败";

  27. }catch(Exception $e){

  28.     echo $e->GetMessage();

  29. }

  30. ?>
复制代码
发信账号必须有smtp发信权限,对于网易的邮箱,06年后注册的新邮箱好像不行,早期的倒可以。
  还有,最好设置$jmail->silent=true,不让jmail自行抛出错误信息,在设置正常的时候,频繁发信会出现一些错误,据我估计应该是发信服务器设置了发信时间间隔。
  经测试,我所用的发信邮箱账号sogou邮箱,能够正常向网易、QQ、GMail邮箱发送邮件信息。
  
  from:http://www.cnblogs.com/shaoyun/archive/2008/11/13/1332632.html
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|创星网络 ( 苏ICP备11027519号|网站地图  

GMT+8, 2024-9-22 06:53 , Processed in 0.087477 second(s), 23 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表