yii框架中关于邮箱封装的示例代码分享
yii框架中关于邮箱封装的示例代码分享
<?php class Mailer { private static $obj; private static $config; public static function getMailer() { if (!is_object(self::$obj)) { self::$config = [ 'class' => 'Swift_SmtpTransport', 'host' => 'smtp.163.com', 'username' => 'xxx@163.com', 'password' => 'xxx', 'port' => '994', 'encryption' => 'ssl', //ssl tls ]; self::$obj = \Yii::createObject([ 'class' => 'yii\swiftmailer\Mailer', 'viewPath' => '@common/mail', 'useFileTransport' => false, 'transport' => self::$config, ]); } return self::$obj; } public static function send($toEmail, $subject, array $compose) { $user = \Wskm::getUser(); if ($compose) { //同时设置2种内容,让用户的偏好自己选择 self::getMailer()->compose( //['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user] //['html' => 'passwordResetToken-html'], ['user' => $user] $compose ); }else{ self::getMailer()->setBody('My <em>amazing</em> body', 'text/html'); self::getMailer()->addPart('My amazing body in plain text', 'text/plain'); } //https://swiftmailer.symfony.com/docs/messages.html //addTo addCc addBcc //$message->setTo(['some@address.tld', 'other@address.tld']); //$message->setCc([ // 'person1@example.org', 'person2@otherdomain.org' => 'Person 2 Name', //]); //->attach(Swift_Attachment::fromPath('my-document.pdf')->setFilename('cool.jpg')) /* // Create the message $message = new Swift_Message('My subject'); // Set the body $message->setBody( '<html>' . ' <body>' . ' Here is an image <img src="' . // Embed the file $message->embed(Swift_Image::fromPath('image.png')) . '" alt="Image" />' . ' Rest of message' . ' </body>' . '</html>', 'text/html' // Mark the content-type as HTML ); */ /* * 验证 use Egulias\EmailValidator\EmailValidator; use Egulias\EmailValidator\Validation\RFCValidation; $validator = new EmailValidator(); $validator->isValid("example@example.com", new RFCValidation()); */ /* * 加密 $smimeSigner = new Swift_Signers_SMimeSigner(); $smimeSigner->setSignCertificate('/path/to/certificate.pem', ['/path/to/private-key.pem', 'passphrase']); $message->attachSigner($smimeSigner); */ /* * 回执 $MESSAGE->setReadReceiptTo('你@地址。 TLD '); */ /** * ->setCharset('iso-8859-2'); 编码 * ->setPriority(2); 设置优先级,1-5 */ return self::getMailer()->compose( //['html' => 'passwordResetToken-html', 'text' => 'passwordResetToken-text'], ['user' => $user] ['html' => 'passwordResetToken-html'], ['user' => $user] ) ->setFrom([ self::$config['username'] => 'test robot']) ->setTo($toEmail) ->setSubject($subject) ->send(); } }
以上是yii框架中关于邮箱封装的示例代码分享的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本文提供了一份详细的Gate.io新手注册教程,涵盖了从访问官网到完成注册的每一个步骤,包括填写注册信息、进行验证、阅读用户协议等。文章还强调了注册成功后的安全措施,如设置二次验证和完成实名认证,并给出了新手提示,帮助用户安全地开启数字资产交易之旅。

这篇文章为新手提供了详细的Gate.io注册教程,指导他们逐步完成注册流程,包括访问官网、填写信息、身份验证等,并强调了注册后的安全设置。此外,文章还提到了币安、欧易和芝麻开门等其他交易所,建议新手根据自身需求选择合适的平台,并提醒读者数字资产投资具有风险,应理性投资。

Laravel邮件发送失败时的退信代码获取方法在使用Laravel开发应用时,经常会遇到需要发送验证码的情况。而在实�...

本文提供了一份详细的Gate.io网页版最新注册教程,帮助用户轻松入门数字资产交易。教程涵盖了从访问官网到完成注册的各个步骤,并强调了注册后的安全设置。文章还简单介绍了币安、欧易和芝麻开门等其他交易平台,建议用户根据自身需求选择合适的平台,并注意投资风险。

本指南提供了 Bitget 交易所官方 App 的详细下载和安装步骤,适用于安卓和 iOS 系统。指南整合了来自多个权威来源的信息,包括官网、App Store 和 Google Play,并强调了下载和账户管理过程中的注意事项。用户可以从官方渠道下载 App,包括应用商店、官网 APK 下载和官网跳转,并完成注册、身份验证和安全设置。此外,指南还涵盖了常见问题和注意事项,例如

欧易OKX作为全球领先的数字资产交易平台,以其丰富的交易产品、强大的安全保障和便捷的用户体验吸引众多投资者。然而,网络安全风险日益严峻,如何安全注册欧易OKX官方账户至关重要。本文将提供欧易OKX官方网站最新注册入口,并详细讲解安全注册的步骤和注意事项,包括如何识别官方网站、设置强密码、开启双重验证等,帮助您安全便捷地开启数字资产投资之旅。请注意,数字资产投资存在风险,请谨慎决策。

本文详细介绍了欧易OKEx账号的注册、使用和注销流程。注册需下载APP,输入手机号或邮箱注册,完成实名认证。使用方面涵盖登录、充值提现、交易以及安全设置等操作步骤。而注销账号则需要联系欧易OKEx客服,提供必要信息并等待处理,最终获得账号注销确认。 通过本文,用户可以轻松掌握欧易OKEx账号的完整生命周期管理,安全便捷地进行数字资产交易。
