- 广场
-
- 搜索中...
- 本文档内搜索
zxf/tools 使用手册
发送邮件Mail
说明
来源
https://github.com/PHPMailer/PHPMailer/
虽然手动或使用Composer安装整个软件包简单、方便、可靠,但您可能希望在项目中只包含重要文件。至少你需要src/PHPMail.php。
如果你使用SMTP,你需要src/SMTP.php,
如果你在SMTP之前使用POP(非常不可能!),你需要src=POP3.php。 如果你没有向用户显示错误,你可以跳过语言文件夹,只处理英语错误。
如果您使用XOAUTH2,则需要src/OAuth.php以及要进行身份验证的服务的Composer依赖项。 真的,使用Composer要容易得多!
示例
支持故障转移(default 参数中传入 "fail_over" 标识)
use zxf\PHPMailer\Mail;
try {
$mail = Mail::instance();
$mail->title('Title')
->content('Content')
->to('mail','name')
->cc('mail','name')
->bcc('mail','name')
->attachment('xxx.csv','xxx报表')
->send();
} catch (\Exception $e) {
// 捕捉异常信息
// $mail->getErrors();
}
配置
<?php
/**
* 发送邮件通知配置
*/
return [
/**
* 默认使用的邮件服务
* 值为 mailers 中的 key 或者 'fail_over' (故障转移列表)
*/
'default' => 'smtp',
/**
* 可用的邮件服务列表
* 有n个邮件服务时,就配置n个项
*/
'mailers' => [
// 邮件服务的配置,键名自定义
'smtp' => [
'mailer' => env('MAIL_MAILER', 'smtp'), //邮件服务器,支持 stmp、mail、sendmail、qmail 4种
'host' => env('MAIL_HOST', 'smtp.qq.com'), // 服务地址
'username' => env('MAIL_USERNAME', ''), // 登录邮箱的账号
'password' => env('MAIL_PASSWORD', ''),//客户端授权密码,注意不是登录密码
'smtp_secure' => env('MAIL_ENCRYPTION', 'ssl'),//可配置ssl或tls协议
'smtp_auth' => env('MAIL_SMTP_AUTH', true),//设置是否进行权限校验
'port' => env('MAIL_PORT', '465'),//端口设置
],
// 实际应用中,参照上面的smtp配置把 ... 替换成具体的配置
'...' => [
// ...
],
],
/**
* 邮件发送者
*/
'from' => [
'name' => env('MAIL_FROM_NAME', 'Example'), // 发送者名称(一般配置系统名称)
'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),// 发送者邮箱号
],
/**
* 故障转移
* 按照顺序依次发送,直到成功或全部都试一遍
* 数组内的值为 mailers 中的 key
*/
'fail_over' => [
'smtp',
],
];
设置语言
//加载英语
$mail->setLanguage('en');
// 或者使用自定义的文件路径
$mail->setLanguage('en', '/optional/path/to/language/directory/');
其他
use zxf\PHPMailer\Mail;
$mail->getLastMessageID(); //获取最后一条消息的ID
$mail->reset(); // 连续发送多封邮件时,可能会需要重置邮件对象以清除之前的收件人、附件等信息
$mail->postSend()
验证邮箱号
Mail::validateAddress('user@example.com', function($address) {
return (strpos($address, '@') !== false);
});