• [PHP]使用PHPMailer发送带附件并支持HTML内容的邮件


    来源:http://www.helloweba.com/view-blog-205.html

    PHPMailer是一个封装好的PHP邮件发送类,支持发送HTML内容的电子邮件,以及可以添加附件发送,并不像PHP本身mail()函数需要服务器环境支持,您只需要设置邮件服务器以相关信息就能实现邮件发送功能。


    查看演示  下载源码


    本文将结合实例代码,讲解如何设置和实现发送HTML以及带附件的邮件功能。
    首先,您可以到PHPMailer(code.google.com)或PHPMailer(直接下载文件)获取最新的下载包,解压到WEB目录下。
    然后建立一个sendmail.php的文件,载入PHPMailer类,并设置相关属性参数,如邮件服务器地址,发件人和收件人,邮件内容等等,详情请看代码:

    date_default_timezone_set('Asia/Shanghai');
    require_once('class.phpmailer.php');  // 载入PHPMailer类 
     
    $mail = new PHPMailer();
    $mail->IsSMTP();                    // 启用SMTP
    $mail->Host     = 'smtp.sina.com';  // SMTP服务器
    $mail->Port     = 25;               // 邮件发送端口
    $mail->SMTPAuth = true;      // 启用SMTP认证
    
    $mail->Username = 'xxx@sina.com';  // 你的邮箱
    $mail->Password = 'xxx';     // 你的密码
    
    $mail->CharSet  = 'UTF-8';   // 字符集
    $mail->Encoding = 'base64';  // 编码方式
    
    $mail->SetFrom('xxx@sina.com', '月光光');  // 添加发件人(发件人email地址,昵称)(也就是你的邮箱)
    $mail->AddAddress('xxx@qq.com', '亲');    // 添加收件人(收件人email地址,昵称)
    
    $mail->Subject  = '你好';    // 邮件标题
    $mail->IsHTML(true);        // 支持html格式内容
    $mail->AddEmbeddedImage('picture.png', 'my-attach', '图片名.png');  // 设置邮件中的图片,并指定名称
    $mail->Body = '你好, <b>朋友</b>! <br/>这是一封来自<a href="http://www.helloweba.com" target="_blank">helloweba.com</a>的邮件!<br/><img alt="helloweba" src="cid:my-attach">';  // 邮件主体内容
    
    $mail->AddAttachment('file.doc', '文件名.doc');  // 添加附件,并指定名称
    
    // 发送
    if($mail->Send()) {
        echo 'Message sent!';
    } else {
        echo 'Mailer Error: ' . $mail->ErrorInfo;
    }

    从代码中可以看出,实例化PHPMailer后,我们指定使用SMTP方式来发邮件,设置SMTP邮件服务器,并启用SMTP认证,如果您的邮件服务器不需要认证,则设置$mail->SMTPAuth=false,并且不需要密码就可以发送。然后设置字符集和编码支持中文字符,注意原版的PHPMailer包对中文字符的支持不太理想,所以您可以下载helloweba示例中的改进包。然后设置发件人和收件人,添加附件。注意附件原名最好不要用中文,可以在AddAttachment()指定中文名称。然后设置邮件html内容,最后就是发送,流程一目了然

  • 相关阅读:
    @RequestParam注解使用:Name for argument type [java.lang.String] not available, and parameter name information not found in class file either.
    cglib动态代理导致注解丢失问题及如何修改注解允许被继承
    springboot Autowired BeanNotOfRequiredTypeException
    git根据用户过滤提交记录
    不同包下,相同数据结构的两个类进行转换
    How to use Jackson to deserialise an array of objects
    jooq实践
    java如何寻找main函数对应的类
    Python--matplotlib
    Python 和 Scikit-Learn
  • 原文地址:https://www.cnblogs.com/hcbin/p/4802583.html
Copyright © 2020-2023  润新知