fyre / mail
一个邮件库。
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.59
- fyre/php-cs-fixer-config: ^1.0
- phpunit/phpunit: ^10
README
FyreMail 是一个免费的、开源的 PHP 邮件库。
目录
安装
使用 Composer
composer require fyre/mail
在 PHP 中
use Fyre\Mail\Mail;
方法
清除
清除所有实例和配置。
Mail::clear();
获取配置
获取 邮件器 配置。
$key是表示 邮件器 键的字符串。
$config = Mail::getConfig($key);
如果省略了 $key 参数,将返回包含所有配置的数组。
$config = Mail::getConfig();
获取键
获取 邮件器 实例的键。
$mailer是一个 邮件器。
$key = Mail::getKey($mailer);
检查配置是否存在
检查是否存在 邮件器 配置。
$key是表示 邮件器 键的字符串,默认为Mail::DEFAULT。
$hasConfig = Mail::hasConfig($key);
检查是否已加载
检查 邮件器 实例是否已加载。
$key是表示 邮件器 键的字符串,默认为Mail::DEFAULT。
$isLoaded = Mail::isLoaded($key);
加载
加载一个 邮件器。
$options是一个包含配置选项的数组。
$mailer = Mail::load($options);
设置配置
设置 邮件器 配置。
$key是表示 邮件器 键的字符串。$options是一个包含配置选项的数组。
Mail::setConfig($key, $options);
也可以提供一个包含配置选项键值对的单个数组。
Mail::setConfig($config);
卸载
卸载一个 邮件器。
$key是表示 邮件器 键的字符串,默认为Mail::DEFAULT。
$unloaded = Mail::unload($key);
使用
加载一个共享的 邮件器 实例。
$key是表示 邮件器 键的字符串,默认为Mail::DEFAULT。
$mailer = Mail::use($key);
邮件器
您可以通过指定上面 $options 变量的 className 选项来加载特定的邮件器。
可以通过扩展 \Fyre\Mail\Mailer 来创建自定义邮件器,确保实现以下所有方法。
电子邮件
创建一个 电子邮件。
$email = $mailer->email();
获取字符集
获取邮件器字符集。
$charset = $mailer->getCharset();
获取客户端
获取客户端主机名。
$client = $mailer->getCliet();
发送
发送一个 电子邮件。
$email是一个 电子邮件。
$mailer->send($email);
Sendmail
可以使用自定义配置加载 Sendmail 邮件器。
$key是表示邮件器键的字符串。$options是一个包含配置选项的数组。className必须设置为\Fyre\Mail\Handlers\SendmailMailer。charset是表示字符集的字符串,默认为 "utf-8"。client是表示客户端主机名的字符串。
Mail::setConfig($key, $options); $mailer = Mail::use($key);
SMTP
可以使用自定义配置加载 SMTP 邮件器。
$key是表示邮件器键的字符串。$options是一个包含配置选项的数组。className必须设置为\Fyre\Mail\Handlers\SmtpMailer。host是表示 SMTP 主机的字符串,默认为 "127.0.0.1"。username是表示 SMTP 用户名的字符串。password是表示 SMTP 密码的字符串。port是表示 SMTP 端口的数字,默认为 465。auth是一个布尔值,表示是否需要认证,默认为 false。tls是一个布尔值,表示是否使用 TLS 加密,默认为 False。dsn是一个布尔值,表示是否使用投递状态通知,默认为 False。keepAlive是一个布尔值,表示是否使用持久连接,默认为 False。charset是表示字符集的字符串,默认为 "utf-8"。client是表示客户端主机名的字符串。
Mail::setConfig($key, $options); $mailer = Mail::use($key);
电子邮件
添加附件
添加附件。
$attachments是一个包含附件的数组,键是文件名,值是附件数据数组。file是一个表示文件路径的字符串。content是一个表示文件数据的字符串。mimeType是一个表示 MIME 内容类型的字符串。contentId是一个表示内容 ID 的字符串。disposition是一个表示内容处理的字符串。
$email->addAttachments($attachments);
对于每个附件,必须提供 file 或 content。
如果省略了 mimeType,它将从文件数据中自动确定。
如果省略了 disposition,如果提供了 contentId,则默认为 "inline",否则为 "attachment"。
添加密送地址
添加一个密送地址。
$email是一个表示电子邮件地址的字符串。$name是一个表示名称的字符串,默认为电子邮件地址。
$email->addBcc($email, $name);
添加抄送地址
添加一个抄送地址。
$email是一个表示电子邮件地址的字符串。$name是一个表示名称的字符串,默认为电子邮件地址。
$email->addCc($email, $name);
添加回复地址
添加一个回复地址。
$email是一个表示电子邮件地址的字符串。$name是一个表示名称的字符串,默认为电子邮件地址。
$email->addReplyTo($email, $name);
添加收件人
添加一个收件人地址。
$email是一个表示电子邮件地址的字符串。$name是一个表示名称的字符串,默认为电子邮件地址。
$email->addTo($email, $name);
获取附件
获取附件。
$attachments = $email->getAttachments();
获取密送地址
获取密送地址。
$bcc = $email->getBcc();
获取正文 HTML
获取 HTML 正文字符串。
$html = $email->getBodyHtml();
获取正文文本
获取文本正文字符串。
$text = $email->getBodyText();
获取边界
获取边界。
$boundary = $email->getBoundary();
获取抄送地址
获取抄送地址。
$cc = $email->getCc();
获取字符集
获取字符集
$charset = $email->getCharset();
获取格式
获取电子邮件格式。
$format = $email->getFormat();
获取发件人
获取发件人地址。
$from = $email->getFrom();
获取标题
获取附加标题。
$headers = $email->getHeaders();
获取消息 ID
获取消息 ID。
$messageId = $email->getMessageId();
获取优先级
获取优先级。
$priority = $email->getPriority();
获取已读回执
获取已读收件人地址。
$readReceipt = $email->getReadReceipt();
获取收件人
获取收件人地址。
$recipients = $email->getRecipients();
获取回复地址
获取回复地址。
$replyTo = $email->getReplyTo();
获取退信地址
获取退信地址。
$returnPath = $email->getReturnPath();
获取发件人
获取发件人地址。
$sender = $email->getSender();
获取主题
获取主题。
$subject = $email->getSubject();
获取收件人
获取收件人地址。
$to = $email->getTo();
发送
发送电子邮件
$email->send();
设置附件
设置附件。
$attachments是一个包含附件的数组,键是文件名,值是附件数据数组。file是一个表示文件路径的字符串。content是一个表示文件数据的字符串。mimeType是一个表示 MIME 内容类型的字符串。contentId是一个表示内容 ID 的字符串。disposition是一个表示内容处理的字符串。
$email->setAttachments($attachments);
对于每个附件,必须提供 file 或 content。
如果省略了 mimeType,它将从文件数据中自动确定。
如果省略了 disposition,如果提供了 contentId,则默认为 "inline",否则为 "attachment"。
设置密送地址
设置密送地址。
$emails是一个包含电子邮件地址的数组,或者电子邮件地址和名称的键值对。
$email->setBcc($emails);
设置正文 HTML
设置正文 HTML。
$html是一个表示正文 HTML 的字符串。
$email->setBodyHtml($html);
设置正文文本
设置正文文本。
$text是一个表示正文文本的字符串。
$email->setBodyText($text);
设置抄送地址
设置抄送地址。
$emails是一个包含电子邮件地址的数组,或者电子邮件地址和名称的键值对。
$email->setCc($emails);
设置字符集
设置字符集。
$charset是一个表示字符集的字符串。
$email->setCharset($charset);
设置格式
设置电子邮件格式。
$format是一个表示电子邮件格式的字符串,必须是 "html"、"text" 或 "both" 中的一个。
$email->setFormat($format);
设置发件人
设置发件人地址。
$email是一个表示电子邮件地址的字符串。$name是一个表示名称的字符串,默认为电子邮件地址。
$email->setFrom($email, $name);
设置标题
设置附加标题。
$headers是一个包含附加标题的数组。
$email->setHeaders($headers);
设置优先级
设置优先级。
$email->setPriority($priority);
设置已读回执
设置已读收件人地址。
$email是一个表示电子邮件地址的字符串。$name是一个表示名称的字符串,默认为电子邮件地址。
$email->setReadReceipt($email, $name);
设置回复地址
设置回复地址。
$emails是一个包含电子邮件地址的数组,或者电子邮件地址和名称的键值对。
$email->setReplyTo($emails);
设置退信地址
设置退信地址。
$email是一个表示电子邮件地址的字符串。$name是一个表示名称的字符串,默认为电子邮件地址。
$email->setReturnPath($email, $name);
设置发件人
设置发件人地址。
$email是一个表示电子邮件地址的字符串。$name是一个表示名称的字符串,默认为电子邮件地址。
$email->setSender($email, $name);
设置主题
设置主题。
$subject是一个表示主题的字符串。
$email->setSubject($subject);
设置收件人
设置收件人地址。
$emails是一个包含电子邮件地址的数组,或者电子邮件地址和名称的键值对。
$email->setTo($emails);