zoukankan      html  css  js  c++  java
  • 使用PHP发送邮件

    使用封装SMTP协议的邮件类

    使用PEAR扩展中的Mail类,功能强大:可以支持纯文本、HTML格式的邮件;各字段都可设置编码,正确配置不会出现中文乱码情况;可以支持附件等等。

    在服务器可以使用 pear install Mail 命令快速安装,没有足够服务器权限的同学也可以直接下载类的PHP源码包含进来就可以了。

    注:Mail类依赖  Net/SMTP.php  和 Mail/mime.php ,要一块下载,使用时一块包含进来。

    详细安装方法可以在官网查看,http://pear.php.net/package/Mail


    下面我举例说明一下在Mail类发送邮件的方法吧,网上其他SMTP邮件类使用方法一块也类似,可以参考:

    1. <?php  
    2.   
    3. // Pear Mail 扩展  
    4. require_once('Mail.php');  
    5. require_once('Mail/mime.php');  
    6. require_once('Net/SMTP.php');  
    7.   
    8. $smtpinfo = array();  
    9. $smtpinfo["host"] = "smtp.163.com";//SMTP服务器  
    10. $smtpinfo["port"] = "25"; //SMTP服务器端口  
    11. $smtpinfo["username"] = "username@163.com"; //发件人邮箱  
    12. $smtpinfo["password"] = "password";//发件人邮箱密码  
    13. $smtpinfo["timeout"] = 10;//网络超时时间,秒  
    14. $smtpinfo["auth"] = true;//登录验证  
    15. //$smtpinfo["debug"] = true;//调试模式  
    16.   
    17. // 收件人列表  
    18. $mailAddr = array('receiver@163.com');  
    19.   
    20. // 发件人显示信息  
    21. $from = "Name <username@163.com>";  
    22.   
    23. // 收件人显示信息  
    24. $to = implode(',',$mailAddr);  
    25.   
    26. // 邮件标题  
    27. $subject = "这是一封测试邮件";  
    28.   
    29. // 邮件正文  
    30. $content = "<h3>随便写点什么</h3>";  
    31.   
    32. // 邮件正文类型,格式和编码  
    33. $contentType = "text/html; charset=utf-8";  
    34.   
    35. //换行符号 Linux:    Windows:    
    36. $crlf = " ";  
    37. $mime = new Mail_mime($crlf);  
    38. $mime->setHTMLBody($content);  
    39.   
    40. $param['text_charset'] = 'utf-8';  
    41. $param['html_charset'] = 'utf-8';  
    42. $param['head_charset'] = 'utf-8';  
    43. $body = $mime->get($param);  
    44.   
    45. $headers = array();  
    46. $headers["From"] = $from;  
    47. $headers["To"] = $to;  
    48. $headers["Subject"] = $subject;  
    49. $headers["Content-Type"] = $contentType;  
    50. $headers = $mime->headers($headers);  
    51.   
    52. $smtp =& Mail::factory("smtp", $smtpinfo);  
    53.   
    54.   
    55. $mail = $smtp->send($mailAddr, $headers, $body);  
    56. $smtp->disconnect();  
    57.   
    58. if (PEAR::isError($mail)) {  
    59.     //发送失败  
    60.     echo 'Email sending failed: ' . $mail->getMessage()." ";  
    61. }  
    62. else{  
    63.     //发送成功  
    64.     echo "success! ";  
    65. }  


    如果从网上找的SMTP类都是高度封装的,所以使用起来比上面会更简单,但使用方法都是比较相似的

  • 相关阅读:
    常用数据类型占用内存大小
    A2W,W2A等的使用
    Java 注释规范
    windows WTL使用命令行参数
    C++ for循环与迭代器
    C++11 正则表达式简单运用
    LINUX部署SVN服务器
    LINUX搭建PySpider爬虫服务
    Linux常用操作指令
    Centos搭建Seafile个人网盘
  • 原文地址:https://www.cnblogs.com/shaohuixia/p/5480624.html
Copyright © 2011-2022 走看看