php发送邮件

本文详细介绍了如何使用PHPMailer开源项目实现邮件发送功能,包括配置SMTP服务器、设置邮件内容及附件,并提供了使用QQ邮箱成功发送邮件的实例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是用开源项目PHPMailer实现邮件发送 ,先下载文件,我这里下载得是5.1得版本,然后把三个class.***.php文件放到项目文件下,我首先用得是gmail,但是失败了,问题是认证失败,后来用了QQ邮箱,发送成功。

<?php require("class.phpmailer.php"); //下载的文件必须放在该文件所在目录 $mail = new PHPMailer(); //建立邮件发送类 $address ="youbinliu@126.com"; $mail->IsSMTP(); // 使用SMTP方式发送 $mail->Host = "smtp.qq.com"; // 您的企业邮局域名 $mail->SMTPAuth = true; // 启用SMTP验证功能 $mail->Username = "843831601@qq.com"; // 邮局用户名(请填写完整的email地址) $mail->Password = "***********"; // 邮局密码 $mail->Port=25; $mail->From = "843831601@qq.com"; //邮件发送者email地址 $mail->FromName = "liuyoubin"; $mail->AddAddress("$address", "a");//收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名") //$mail->AddReplyTo("", ""); //$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件 //$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式 $mail->Subject = "PHPMailer测试邮件"; //邮件标题 $mail->Body = "Hello,这是测试邮件"; //邮件内容 $mail->AltBody = "This is the body in plain text for non-HTML mail clients"; //附加信息,可以省略 if(!$mail->Send()) { echo "邮件发送失败.

"; echo "错误原因: " . $mail->ErrorInfo; exit; } echo "邮件发送成功"; ?>

附件:
phpmailer 中文使用说明(简易版)
A开头:
AltBody−−属性出自:PHPMailer::AltBody--属性 出自:PHPMailer::AltBodyPHPMailer::AltBody
文件:class.phpmailer.php
说明:该属性的设置是在邮件正文不支持HTML的备用显示
AddAddress–方法
出自:PHPMailer::AddAddress(),文件:class.phpmailer.php
说明:增加收件人。参数1为收件人邮箱,参数2为收件人称呼。例 AddAddress(“eb163@eb163.com”,“eb163”),但参数2可选,AddAddress(eb163@eb163.com)也是可以的。
函数原型:public function AddAddress($address, name=′′)AddAttachment−−方法出自:PHPMailer::AddAttachment()文件:class.phpmailer.php。说明:增加附件。参数:路径,名称,编码,类型。其中,路径为必选,其他为可选函数原型:AddAttachment(name = '') {} AddAttachment--方法 出自:PHPMailer::AddAttachment() 文件:class.phpmailer.php。 说明:增加附件。 参数:路径,名称,编码,类型。其中,路径为必选,其他为可选 函数原型: AddAttachment(name=)AddAttachmentPHPMailer::AddAttachment()class.phpmailer.phpAddAttachment(path, $name = ‘’, $encoding = ‘base64’, type=′application/octet−stream′)AddBCC−−方法出自:PHPMailer::AddBCC()文件:class.phpmailer.php说明:增加一个密送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别]。参数1为地址,参数2为名称。注意此方法只支持在win32下使用SMTP,不支持mail函数函数原型:publicfunctionAddBCC(type = 'application/octet-stream'){} AddBCC--方法 出自:PHPMailer::AddBCC() 文件:class.phpmailer.php 说明:增加一个密送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别] 。 参数1为地址,参数2为名称。注意此方法只支持在win32下使用SMTP,不支持mail函数 函数原型:public function AddBCC(type=application/octetstream)AddBCCPHPMailer::AddBCC()class.phpmailer.php[SMTP]12win32使SMTPmailpublicfunctionAddBCC(address, name=′′)AddCC−−方法出自:PHPMailer::AddCC()文件:class.phpmailer.php说明:增加一个抄送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别]。参数1为地址,参数2为名称注意此方法只支持在win32下使用SMTP,不支持mail函数函数原型:publicfunctionAddCC(name = ''){} AddCC --方法 出自:PHPMailer::AddCC() 文件:class.phpmailer.php 说明:增加一个抄送。抄送和密送的区别请看[SMTP发件中的密送和抄送的区别] 。 参数1为地址,参数2为名称注意此方法只支持在win32下使用SMTP,不支持mail函数 函数原型:public function AddCC(name=)AddCCPHPMailer::AddCC()class.phpmailer.php[SMTP]12win32使SMTPmailpublicfunctionAddCC(address, name=′′)AddCustomHeader−−方法出自:PHPMailer::AddCustomHeader()文件:class.phpmailer.php说明:增加一个自定义的E−mail头部。参数为头部信息函数原型:publicfunctionAddCustomHeader(name = '') {} AddCustomHeader--方法 出自:PHPMailer::AddCustomHeader() 文件:class.phpmailer.php 说明:增加一个自定义的E-mail头部。 参数为头部信息 函数原型:public function AddCustomHeader(name=)AddCustomHeaderPHPMailer::AddCustomHeader()class.phpmailer.phpEmailpublicfunctionAddCustomHeader(custom_header){}
AddEmbeddedImage --方法
出自:PHPMailer::AddEmbeddedImage()
文件:class.phpmailer.php
说明:增加一个嵌入式图片
参数:路径,返回句柄[,名称,编码,类型]
函数原型:public function AddEmbeddedImage($path, $cid, $name = ‘’, $encoding = ‘base64’, type=′application/octet−stream′)提示:AddEmbeddedImage(PICTUREPATH."index01.jpg","img01","index01.jpg");在html中引用AddReplyTo−−方法出自:PHPMailer::AddReplyTo()文件:class.phpmailer.php说明:增加回复标签,如"Reply−to"参数1地址,参数2名称函数原型:publicfunctionAddReplyTo(type = 'application/octet-stream') {} 提示:AddEmbeddedImage(PICTURE_PATH. "index_01.jpg ", "img_01 ", "index_01.jpg "); 在html中引用 AddReplyTo--方法 出自:PHPMailer:: AddReplyTo() 文件:class.phpmailer.php 说明:增加回复标签,如"Reply-to" 参数1地址,参数2名称 函数原型:public function AddReplyTo(type=application/octetstream)AddEmbeddedImage(PICTUREPATH."index01.jpg","img01","index01.jpg");htmlAddReplyToPHPMailer::AddReplyTo()class.phpmailer.php"Replyto"12publicfunctionAddReplyTo(address, name=′′)AddStringAttachment−方法出自:PHPMailer::AddStringAttachment()文件:class.phpmailer.php说明:增加一个字符串或二进制附件(Addsastringorbinaryattachment(non−filesystem)tothelist.?)参数:字符串,文件名[,编码,类型]函数原型:publicfunctionAddStringAttachment(name = '') {} AddStringAttachment-方法 出自:PHPMailer:: AddStringAttachment() 文件:class.phpmailer.php 说明:增加一个字符串或二进制附件(Adds a string or binary attachment (non-filesystem) to the list.?) 参数:字符串,文件名[,编码,类型] 函数原型:public function AddStringAttachment(name=)AddStringAttachmentPHPMailer::AddStringAttachment()class.phpmailer.phpAddsastringorbinaryattachment(nonfilesystem)tothelist.?,[,,]publicfunctionAddStringAttachment(string, $filename, $encoding = ‘base64’, type=′application/octet−stream′)Authenticate−−方法出自:SMTP::Authenticate()文件:class.smtp.php说明:开始SMTP认证,必须在Hello()之后调用,如果认证成功,返回true,参数1用户名,参数2密码函数原型:publicfunctionAuthenticate(type = 'application/octet-stream') {} Authenticate--方法 出自:SMTP::Authenticate() 文件:class.smtp.php 说明:开始SMTP认证,必须在Hello()之后调用,如果认证成功,返回true, 参数1用户名,参数2密码 函数原型:public function Authenticate(type=application/octetstream)AuthenticateSMTP::Authenticate()class.smtp.phpSMTPHello()true12publicfunctionAuthenticate(username, $password) {}
B开头
Body−−属性出自:PHPMailer::Body--属性 出自:PHPMailer::BodyPHPMailer::Body
文件: class.phpmailer.php
说明:邮件内容,HTML或Text格式
C开头
CharSet−−属性出自:PHPMailer::CharSet--属性 出自:PHPMailer::CharSetPHPMailer::CharSet
文件:class.phpmailer.php
说明:邮件编码,默认为iso-8859-1
ConfirmReadingTo−−属性出自:PHPMailer::ConfirmReadingTo--属性 出自:PHPMailer::ConfirmReadingToPHPMailer::ConfirmReadingTo 文件class.phpmailer.php
说明:回执?
ContentType−−属性出自:PHPMailer::ContentType--属性 出自:PHPMailer::ContentTypePHPMailer::ContentType
文件: class.phpmailer.php
说明:文档的类型,默认为"text/plain"
CRLF−−属性出自:PHPMailer::CRLF--属性 出自:PHPMailer::CRLFPHPMailer::ContentType
文件:class.phpmailer.php
说明:SMTP回复结束的分隔符(SMTP reply line ending?)
class.phpmailer.php–对象
出自:class.phpmailer.php
文件: class.phpmailer.php
说明:phpmailer对象
class.smtp.php–对象
出自:class.smtp.php 文件: class.smtp.php
说明:SMTP功能的对象
ClearAddresses–方法
出自:PHPMailer::ClearAddresses()
文件: class.phpmailer.php
说明:清除收件人,为下一次发件做准备。返回类型是void
ClearAllRecipients–方法
出自:PHPMailer::ClearAllRecipients()
文件: class.phpmailer.php
说明:清除所有收件人,包括CC(抄送)和BCC(密送)
ClearAttachments–方法
出自:PHPMailer::ClearAttachments()
文件: class.phpmailer.php
说明:清楚附件
ClearBCCs–方法
出自:PHPMailer::ClearBCCs() 文件 class.phpmailer.php
说明:清楚BCC (密送)
ClearCustomHeaders–方法
出自:PHPMailer::ClearCustomHeaders()
文件: class.phpmailer.php
说明:清楚自定义头部
ClearReplyTos–方法
出自:PHPMailer::ClearReplyTos()
文件: class.phpmailer.php
说明:清楚回复人
Close–方法
出自:SMTP::Close()
文件: class.smtp.php
说明:关闭一个SMTP连接
Connect–方法
出自:SMTP::Connect()
文件: class.smtp.php
说明:建立一个SMTP连接Mailer.html
ContentType−−属性出自:PHPMailer::ContentType--属性 出自:PHPMailer::ContentTypePHPMailer::ContentType
文件: class.phpmailer.php
说明:文档的类型,默认为"text/plain"
D开头
dodebug−−属性出自:SMTP::do_debug--属性 出自:SMTP::dodebugSMTP::do_debug
文件:class.smtp.php
说明:SMTP调试输出
Data-方法
出自:SMTP::Data()
文件:class.smtp.php
说明:向服务器发送一个数据命令和消息信息(sendsthemsg_datatotheserver)
E开头
Encoding−−属性出自:PHPMailer::Encoding--属性 出自:PHPMailer::EncodingPHPMailer::Encoding
文件:class.phpmailer.php
说明:设置邮件的编码方式,可选:“8bit”,“7bit”,“binary”,“base64”,和"quoted-printable".
ErrorInfo−−属性出自:PHPMailer::ErrorInfo--属性 出自:PHPMailer::ErrorInfoPHPMailer::ErrorInfo
文件:class.phpmailer.php
说明:返回邮件SMTP中的最后一个错误信息
Expand–方法
出自:SMTP::Expand()
文件:class.smtp.php
说明:返回邮件列表中所有用户。成功则返回数组,否则返回 false(Expandtakesthenameandaskstheservertolistallthepeoplewhoaremembersofthe_list_.Expandwillreturnbackandarrayoftheresultorfalseifanerroroccurs.)
F开头:
From−−属性出自:PHPMailer::From--属性 出自:PHPMailer::FromPHPMailer::From文件class.phpmailer.php
说明:发件人E-mail地址
FromName−−属性出自:PHPMailer::FromName--属性 出自:PHPMailer::FromNamePHPMailer::FromName
文件:class.phpmailer.php
说明:发件人称呼
H开头:
Helo−−属性出自:PHPMailer::Helo--属性 出自:PHPMailer::HeloPHPMailer::Helo
文件:class.phpmailer.php
说明:设置SMTPHelo,默认是Hostname(SetstheSMTPHELOofthemessage(DefaultisHostname(SetstheSMTPHELOofthemessage(DefaultisHostname(SetstheSMTPHELOofthemessage(DefaultisHostname).)
Host−−属性出自:PHPMailer::Host--属性 出自:PHPMailer::HostPHPMailer::Host
文件:class.phpmailer.php
说明:设置SMTP服务器,格式为:主机名[端口号],如smtp1.example.com:25和smtp2.example.com都是合法的www.cdxsxbx.com
Hostname−−属性出自:PHPMailer::Hostname--属性 出自:PHPMailer::HostnamePHPMailer::Hostname
文件:class.phpmailer.php
说明:设置在Message-Id和andReceivedheaders中的hostname并同时被Helo使用。如果为空,默认为SERVERNAME或′localhost.localdomain"Hello−−方法出自:SMTP::Hello()文件:class.smtp.php说明:向SMTP服务器发送HELO命令Help−−方法出自:SMTP::Help()文件:class.smtp.php说明:如果有关键词,得到关键词的帮助信息I开头:IsError−−方法出自:PHPMailer::IsError()文件:class.phpmailer.php说明:返回是否有错误发生IsHTML−−方法出自:PHPMailer::IsHTML()文件:class.phpmailer.php说明:设置信件是否是HTML格式IsMail−−方法出自:PHPMailer::IsMail()文件:class.phpmailer.php说明:设置是否使用php的mail函数发件IsQmail−−方法出自:PHPMailer::IsQmail()文件:class.phpmailer.php说明:设置是否使用qmailMTA来发件IsSendmail−−方法出自:PHPMailer::IsSendmail()文件:class.phpmailer.php说明:是否使用Helo使用。如果为空,默认为SERVER_NAME或'localhost.localdomain" Hello--方法 出自:SMTP::Hello() 文件:class.smtp.php 说明:向SMTP服务器发送HELO命令 Help--方法 出自:SMTP::Help() 文件:class.smtp.php 说明:如果有关键词,得到关键词的帮助信息 I开头: IsError--方法 出自:PHPMailer::IsError() 文件:class.phpmailer.php 说明:返回是否有错误发生 IsHTML--方法 出自:PHPMailer::IsHTML() 文件:class.phpmailer.php 说明:设置信件是否是HTML格式 IsMail--方法 出自:PHPMailer::IsMail() 文件:class.phpmailer.php 说明:设置是否使用php的mail函数发件 IsQmail--方法 出自:PHPMailer::IsQmail() 文件:class.phpmailer.php 说明:设置是否使用qmailMTA来发件 IsSendmail--方法 出自:PHPMailer::IsSendmail() 文件:class.phpmailer.php 说明:是否使用Helo使SERVERNAMElocalhost.localdomain"HelloSMTP::Hello()class.smtp.phpSMTPHELOHelpSMTP::Help()class.smtp.phpIIsErrorPHPMailer::IsError()class.phpmailer.phpIsHTMLPHPMailer::IsHTML()class.phpmailer.phpHTMLIsMail:PHPMailer::IsMail()class.phpmailer.php使phpmailIsQmail:PHPMailer::IsQmail()class.phpmailer.php使qmailMTAIsSendmailPHPMailer::IsSendmail()class.phpmailer.php使Sendmail程序来发件
IsSMTP–方法
出自:PHPMailer::IsSMTP()
文件:class.phpmailer.php
说明:是否使用SMTP来发件
M开头:
Mailer−−属性出自:PHPMailer::Mailer--属性 出自:PHPMailer::MailerPHPMailer::Mailer
文件:class.phpmailer.php
说明:发件方式,(“mail”,“sendmail”,or"smtp").中的一个
Mail–方法
出自:SMTP::Mail()
文件:class.smtp.php
说明:从$from中一个邮件地址开始处理,返回true或false。如果是true,则开始发件
N开头:
Noop–方法
出自:SMTP::Noop()
文件:class.smtp.php
说明:向SMTP服务器发送一个NOOP命令
P开头:
Password−−属性出自:PHPMailer::Password--属性 出自:PHPMailer::PasswordPHPMailer::Password
文件:class.phpmailer.php
说明:设置SMTP的密码
PluginDir−−属性出自:PHPMailer::PluginDir--属性 出自:PHPMailer::PluginDirPHPMailer::PluginDir
文件:class.phpmailer.php
说明:设置phpmailer的插件目录,仅在smtpclass不在phpmailer目录下有效
Port−−属性出自:PHPMailer::Port--属性 出自:PHPMailer::PortPHPMailer::Port
文件:class.phpmailer.php
说明:设置SMTP的端口号
Priority−−属性出自:PHPMailer::Priority--属性 出自:PHPMailer::PriorityPHPMailer::Priority
文件:class.phpmailer.php
说明:设置邮件投递优先等级。1=紧急,3=普通,5=不急
PHPMailer–对象
出自:PHPMailer
文件:class.phpmailer.php
说明:PHPMailer-PHPemailtransportclass
Q开头
Quit–方法
出自:SMTP::Quit()
文件:class.smtp.php
说明:向服务器发送Quit命令,如果没有错误发生。那么关闭sock,不然closeonerror为trueR开头Recipient−−方法出自:SMTP::Recipient()文件:class.smtp.php说明:使用To向SMTP发送RCPT命令,参数为:close_on_error为true R开头 Recipient--方法 出自:SMTP::Recipient() 文件:class.smtp.php 说明:使用To向SMTP发送RCPT命令,参数为:closeonerrortrueRRecipientSMTP::Recipient()class.smtp.php使ToSMTPRCPT:to
Reset–方法
出自:SMTP::Reset()
文件:class.smtp.php
说明:发送RSET命令从而取消处理中传输。成功则返回true,否则为false
S开头:
Sender−−属性出自:PHPMailer::Sender--属性 出自:PHPMailer::SenderPHPMailer::Sender
文件:class.phpmailer.php
说明:SetstheSenderemail(Return-Path)ofthemessage.Ifnotempty,willbesentvia-ftosendmailoras’MAILFROM’insmtpmode.
Sendmail−−属性出自:PHPMailer::Sendmail--属性 出自:PHPMailer::SendmailPHPMailer::Sendmail
文件:class.phpmailer.php
说明:设置发件程序的目录
SMTPAuth−−属性出自:PHPMailer::SMTPAuth--属性 出自:PHPMailer::SMTPAuthPHPMailer::SMTPAuth
文件:class.phpmailer.php
说明:设置SMTP是否需要认证,使用Username和Password变量
SMTPDebug−−属性出自:PHPMailer::SMTPDebug--属性 出自:PHPMailer::SMTPDebugPHPMailer::SMTPDebug
文件:class.phpmailer.php
说明:设置SMTP是否调试输出?
SMTPKeepAlive−−属性出自:PHPMailer::SMTPKeepAlive--属性 出自:PHPMailer::SMTPKeepAlivePHPMailer::SMTPKeepAlive
文件:class.phpmailer.php
说明:在每次发件后不关闭连接。如果为true,则,必须使用SmtpClose()来关闭连接
SMTPPORT−−属性www.cdxsxbx.com出自:SMTP::SMTP_PORT--属性www.cdxsxbx.com 出自:SMTP::SMTPPORTwww.cdxsxbx.comSMTP::SMTP_PORT
文件:class.smtp.php
说明:设置SMTP端口
Subject−−属性出自:PHPMailer::Subject--属性 出自:PHPMailer::SubjectPHPMailer::Subject
文件:class.phpmailer.php
说明:设置信件的主题
Send–方法
出自:SMTP::Send()
文件:class.smtp.php
说明:从指定的邮件地址开始一个邮件传输
Send–方法
出自:PHPMailer::Send()
文件:class.phpmailer.php
说明:创建邮件并制定发件程序。如果发件不成功,则返回false,请使用ErrorInfo来查看错误信息
SendAndMail–方法
出自:SMTP::SendAndMail()
文件:class.smtp.php
说明:从指定的邮件地址开始一个邮件传输
SendOrMail–方法
出自:SMTP::SendOrMail()
文件:class.smtp.php
说明:从指定的邮件地址开始一个邮件传输
SetLanguage–方法
出自:PHPMailer::SetLanguage()
文件:class.phpmailer.php
说明:设置phpmailer错误信息的语言类型,如果无法加载语言文件,则返回false,默认为english
SMTP–方法
出自:SMTP::SMTP()
文件:class.smtp.php
说明:初始化一个对象以便数据处于一个已知的状态
SMTP–对象
出自:SMTP
文件:class.smtp.php
说明:SMTP对象
SmtpClose–方法
出自:PHPMailer::SmtpClose()
文件:class.phpmailer.php
说明:如果有活动的SMTP则关闭它。
T开头
Timeout−−属性出自:PHPMailer::Timeout--属性 出自:PHPMailer::TimeoutPHPMailer::Timeout
文件:class.phpmailer.php
说明:设置SMTP服务器的超时(单位:秒)。注意:在win32下,该属性无效
Turn–方法
出自:SMTP::Turn()
文件:class.smtp.php
说明:这是一个可选的SMTP参数,目前phpmailer并不支持他,可能未来支持
U开头
Username−−属性出自:PHPMailer::Username--属性 出自:PHPMailer::UsernamePHPMailer::Username
文件:class.phpmailer.php
说明:设置SMTP用户名
V开头
Version−−属性出自:PHPMailer::Version--属性 出自:PHPMailer::VersionPHPMailer::Version
文件:class.phpmailer.php
说明:返回Phpmailer的版本
Verify–方法
出自:SMTP::Verify()
文件:class.smtp.php
说明:通过服务器检查用户名是否经过验证
W开头:
WordWrap−−属性出自:PHPMailer::WordWrap--属性 出自:PHPMailer::WordWrapPHPMailer::WordWrap
文件:class.phpmailer.php
说明:设置每行最大字符数,超过改数后自动换行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值