免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: koocy
打印 上一主题 下一主题

[邮件] 算我懒,给我给smtp的类,能发附件的 ! [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-07-25 14:09 |只看该作者
好用,爽,速度一流 ! 不过MyMailer类,我改了改,这样可以得到cid
可以 <img src="cid:0"> 来在邮件中显示附件了


  1. <?PHP

  2. class MyMailer extends PHPMailer {
  3.     // Set default variables for all new objects
  4.     var $From     = "xxx@xxx.com";
  5.     var $FromName = "koocy";
  6.     var $Host     = "mail.xxx.com";
  7.     var $Mailer   = "smtp";                         // Alternative to IsSMTP()
  8.     var $SMTPAuth = true;     // turn on SMTP authentication
  9.         var $CharSet = "GB2312";
  10.     var $Username = "xxx@xxx.com";  // SMTP username
  11.     var $Password = "xxx"; // SMTP password
  12.         var $WordWrap = 75;

  13.         function AddAttachment($path, $name = "", $disposition="attachment", $encoding = "base64", $type = "application/octet-stream")
  14.         {
  15.                
  16.         if(!@is_file($path))
  17.         {
  18.             $this->SetError($this->Lang("file_access") . $path);
  19.             return false;
  20.         }

  21.         $filename = basename($path);
  22.         if($name == "")
  23.             $name = $filename;

  24.         $cur = count($this->attachment);
  25.         $this->attachment[$cur][0] = $path;
  26.         $this->attachment[$cur][1] = $filename;
  27.         $this->attachment[$cur][2] = $name;
  28.         $this->attachment[$cur][3] = $encoding;
  29.         $this->attachment[$cur][4] = $type;
  30.         $this->attachment[$cur][5] = false; // isStringAttachment
  31.         $this->attachment[$cur][6] = ($disposition=='attachment') ? 'attachment' : 'inline' ;
  32.         $this->attachment[$cur][7] = $cur;

  33.         return true;
  34.         }
  35. }

  36. ?>
复制代码




发邮件的时候


  1. <?PHP
  2. $mail = new MyMailer;

  3. // Now you only need to add the necessary stuff
  4. $mail->AddAddress("xxx@xxx.com", "koocy");
  5. $mail->AddAddress("xxx@xxx.com", "abc");
  6. /// ......

  7. $mail->Subject = "邮件标题";
  8. $mail->Body    = "下边是图片<br>\n<img src=\"cid:0\" width=\"100\" height=\"100\">\n<img src=\"cid:1\" width=\"200\" height=\"100\">";

  9. $mail->AddAttachment("D:/tmp/mac.jpg","mac.jpg",'inline');  // optional name
  10. $mail->AddAttachment("D:/tmp/123.jpg","1233.jpg",'inline');  // optional name
  11. $mail->IsHTML(true);  // false 表示文本邮件正文

  12. if(!$mail->Send())
  13. {
  14.    echo "发送失败" . $mail->ErrorInfo;
  15. }
  16. else
  17. {
  18.         echo "发送成功";
  19. }

  20. ?>
复制代码

论坛徽章:
0
12 [报告]
发表于 2006-08-26 12:59 |只看该作者
今天有空测试了一下
免费的smtp服务器,
确实不行,好多邮件都被退会了.
我检讨!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP