[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 = ‘[email protected]‘;  // 你的邮箱
$mail->Password = ‘xxx‘;     // 你的密码

$mail->CharSet  = ‘UTF-8‘;   // 字符集
$mail->Encoding = ‘base64‘;  // 编码方式

$mail->SetFrom(‘[email protected]‘, ‘月光光‘);  // 添加发件人(发件人email地址,昵称)(也就是你的邮箱)
$mail->AddAddress(‘[email protected]‘, ‘亲‘);    // 添加收件人(收件人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内容,最后就是发送,流程一目了然

时间: 2024-08-28 02:07:20

[PHP]使用PHPMailer发送带附件并支持HTML内容的邮件的相关文章

java mail邮件发送(带附件) 支持SSL

java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.util.Vector; public class MailSenderInfo { // 发送邮件的server的IP和端口 private String mailServerHost; private String mailServerPort = "25"; // 邮件发送者的地址 pr

使用Spring发送带附件的电子邮件(站内和站外传送)

JavaMail的介绍 JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.   虽然JavaMail是Sun的API之一,但它目前还没有被加在标准的java开发工具包中(Java Development Kit),这就意味着你在使用前必须另外下载JavaMail文件.除此以外,你还需要有Sun的JavaBeans Activation Framework (JAF).JavaBeans Activa

java mail邮件发送(带附件)

java mail邮件发送(带附件)有三个类 MailSenderInfo.java package mail; import java.util.Properties; import java.util.Vector; public class MailSenderInfo { // 发送邮件的服务器的IP和端口 private String mailServerHost; private String mailServerPort = "25"; // 邮件发送者的地址 priva

Android上发送带附件的邮件

准备工作-下载最新版本的JMail https://java.net/projects/javamail/pages/Home#Download_JavaMail_1.5.2_Release http://www.oracle.com/technetwork/java/javase/downloads/index-135046.html 在android上发送邮件方式: 第一种:借助GMail APP客户端,缺点是必须使用GMail帐号,有点是比较方便 不需要写很多代码,但是不是很灵活. 第二种

Python2.7 smtplib发送带附件邮件报错STARTTLS解决方法

最近在SIOMP系统中添加一项功能时,即自动发送带附件邮件到指定邮箱时,发现在发送时报错:错误信息:STARTTLS extension not supported by server.很是奇怪,但发送无附件邮件时,可以正常发送,且不报错,前期以为是代码存在问题,如果调出对应的错误信息反馈,似乎和代码没有什么关系: 详细代码如下所示: # -*- coding: utf-8 -*- import email from email.mime.text import MIMEText from em

(转)用javamail发送带附件的邮件

本文转载自:http://redleaf.iteye.com/blog/78217 mail.java 代码 package mail; import java.util.* ; import java.io.* ; import javax.mail.* ; import javax.mail.internet.* ; import javax.activation.* ; public class Mail { //定义发件人.收件人.SMTP服务器.用户名.密码.主题.内容等 privat

ORACLE发送带附件邮件的二三事之一

在oracle使用过程中,我们可以通过pl/sql生成数据文件,也可以通过spool on spool off生成,但某些环境下,我们需要通过存储过程处理数据,数据处理完,需要自动生成数据文件,手工导出生成方式便不适用. 下面我们尝试这样处理,能够满足我们的需求 第一步:发送带附件邮件必须需可以生成附件,检查是系统是否有权限 select * from all_directories 默认系统配置有"DATA_PUMP_DIR",如果没有联系dba创建 create directory

自动化测试发送带附件的邮件

自动化测试发送带附件的邮件 标签(空格分隔): 带附件邮件 在我们的自动化测试中,有时候会发送报告,有时候会发送带附件的报告,具体带附件的报告怎么操作呢? 具体的步骤如下述所示:如下是QQ邮箱为例 import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart # 用于传送附件 smtpserver = 'smtp.exmail.qq.com' user = '*

C#发送带附件的邮件的代码

如下的代码是关于C#发送带附件的邮件的代码. MailMessage m = new MailMessage();m.Subject = "File attachment!";m.Body = "See the attached file.";m.Attachments.Add(new Attachment(@"C:test.txt"));SmtpClient client = new SmtpClient("smtp.w3mentor