也许过去我不是一个好孩子,但现在我要做个好爸爸...... 注册 | 登陆

PHP发送SMTP邮件的代码(Part 1)

  手头在做一个项目,需要在线发送邮件,于是习惯性地上网去搜索,找了不少,不过很多代码都很长、很乱,加上我开始测试的时候是在IXWebHosting的服务器上,一直提示无法连接邮件服务器,郁闷了很久。

  其实戒烟如你的要求不高,基本需求是:源代码使用UTF-8编码,邮件内容使用BASE64编码,符合用户的基本使用习惯,能发送纯文本邮件即可。

  坐在公交车上突然间想到,很多大型程序都有发送邮件的功能,比如说某个知名的PHP论坛,以前试用的时候邮件是发送成功了的,于是下载下来研究,找其中发送邮件的源代码,很不幸,被我找到了,而且还注意到了那个文件开头的一句声明“This is NOT a freeware, use is subject to license terms”,当然,用作研究是例外,而且我这里有所改动,不过就不提这个论坛的名称了哈!

  下面我来分析这个代码:

PHP代码
  1. $set = array(  
  2.        'server' => 'smtp.126.com',           // 邮件服务器
  3.        'port' => '25',                       // 服务器端口
  4.        'auth' => '1',                        // 是否需要验证身份
  5.        'username' => 'username',             // 登录用户名
  6.        'password' => 'password',             // 登录密码
  7.        'from' => '发件人 <email@address.com>' // 发件人
  8.        );  

  上面这段代码是定义登录服务器的基本信息的,包括服务器地址、端口、是否需要身份验证、登录用户名、登录密码、发件人等等,用过类似于FOXMAIL邮件客户端的人都知道怎么设置。提醒注意的是'from'元素的值,在user和<之间有一个空格,往下面看你就明白怎么回事了。

PHP代码
  1. $mail = array(  
  2.         'to' => '收件人 <tomail@address.com>',  // 收件人地址  
  3.         'message' => '试一试自己写的SMTP!!!',  // 邮件正文  
  4.         'subject' => 'SMTP邮件!',              // 邮件标题  
  5. );  

  这段代码是发邮件时必备的东西了,收件人地址、邮件正文、标题,和上面一样,收件人地址里也有一个空格

PHP代码
  1. $charset = 'utf-8';   // 邮件使用的字符编码,这里用的是UTF-8  
  2.   
  3. $delimiter = "\r\n";  // 邮件正文中换行符的样式  

  这两行就不要多说了吧!

Tags: php, smtp

« 上一篇 | 下一篇 »

只显示5条记录相关文章

截取固定长度UTF-8字符串的PHP函数 (浏览: 34265, 评论: 2)
FPDF代码研究(Part 5) (浏览: 30548, 评论: 1)
FPDF代码研究(Part 4) (浏览: 11607, 评论: 1)
FPDF代码研究(Part 3) (浏览: 11839, 评论: 0)
FPDF代码研究(Part 2,构造函数) (浏览: 22515, 评论: 0)

1条记录访客评论

php需要像jmail一样装组件吗

Post by 虚拟主机 on 2009, March 27, 4:12 PM 引用此文发表评论 #1


发表评论

评论内容 (必填):