本站所搜集的资源均来源于网络,仅供学习研究代码使用,请勿商用
本站所有资源均免费下载无需付费。
登录账号后访问“个人中心”点击“我的余额”在右上角签到后即可免费下载
其资源在源站什么样下载就是什么样,并非本站制作发布,代码是否完整、是否有教程及使用说明需自行判断,本站不保证其资源可用。
本站所有资源均免费下载无需付费。
登录账号后访问“个人中心”点击“我的余额”在右上角签到后即可免费下载
其资源在源站什么样下载就是什么样,并非本站制作发布,代码是否完整、是否有教程及使用说明需自行判断,本站不保证其资源可用。
使用原始 PHP 发送电子邮件非常容易,但是发送 HTML 电子邮件涉及更多的问题,将附件带入等式会变得非常复杂。值得庆幸的是,有一些简单的方法可以发送混合电子邮件类型,您可以将电子邮件作为 HTML 发送,还可以为不支持 HTML 的电子邮件阅读器提供纯文本版本,添加附件是指向要发送的文件的简单案例!
我正在使用名为 Swiftmailer 的第三方电子邮件库来使用它下载文件并将文件上传到 lib 文件夹中,然后您就可以使用它了。
http://swiftmailer.org
快速查看他们的文档以获取示例,可以完成很多工作。这是他们发送电子邮件的文档中的代码示例:
require_once 'lib/swift_required.php';
// Create the Transport
$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25)
->setUsername('your username')
->setPassword('your password')
;
/*
You could alternatively use a different transport such as Sendmail or Mail:
// Sendmail
$transport = Swift_SendmailTransport::newInstance('/usr/sbin/sendmail -bs');
// Mail
$transport = Swift_MailTransport::newInstance();
*/
// Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
// Create a message
$message = Swift_Message::newInstance('Wonderful Subject')
->setFrom(array('john@doe.com' => 'John Doe'))
->setTo(array('receiver@domain.org', 'other@domain.org' => 'A name'))
->setBody('Here is the message itself')
;
// Send the message
$result = $mailer->send($message);
这并不复杂,但我更喜欢有一个小的可重用辅助函数,它可以通过这个函数与库交互,我可以发送一封带有少量代码的 HTML 电子邮件:
sendmail($to,$from,$subject,$textmail,$htmlmail);
通过该电话,我将发送电子邮件的人传递给我从主题发送电子邮件的地址,以及 2 个纯文本和 html 电子邮件版本,以发送附件,我将引用文件的路径:
sendmail($to,$from,$subject,$textmail,$htmlmail,'pathtomyfile');
这是非常可重用且易于实现的。辅助函数取自 swift 文档,并进行了一些调整:
function sendmail($to,$from,$subject,$textmail,$htmlmail = NULL, $attachment = NULL){
require_once 'lib/swift_required.php';
//Mail
$transport = Swift_MailTransport::newInstance();
//Create the Mailer using your created Transport
$mailer = Swift_Mailer::newInstance($transport);
//Create the message
$message = Swift_Message::newInstance()
//Give the message a subject
->setSubject($subject)
//Set the From address with an associative array
->setFrom($from)
//Set the To addresses with an associative array
->setTo($to)
//Give it a body
->setBody($textmail);
if($htmlmail !=''){
//And optionally an alternative body
$message->addPart($htmlmail, 'text/html');
}
if($attachment !=''){
//Optionally add any attachments
$message->attach(
Swift_Attachment::fromPath($attachment)->setDisposition('inline')
);
}
//Send the message
$result = $mailer->send($message);
return $result;
}
html 部分和附件是可选的,这使得它非常灵活,非常适合发送完全格式化的电子邮件。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。