正文  软件开发 > PHP编程技术 >

yii 邮箱封装,yii封装

yii 邮箱封装,yii封装<?php class Mailer { private static $obj; private static $config; pub...

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‘ => ‘yiiswiftmailerMailer‘,
                    ‘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 EguliasEmailValidatorEmailValidator; use EguliasEmailValidatorValidationRFCValidation; $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(); } }

http://www.bkjia.com/PHPjc/1219779.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1219779.htmlTechArticleyii 邮箱封装,yii封装 ? php class Mailer{ private static $obj ; private static $config ; public static function getMailer() { if (! is_object (self:: $obj )) { self :: $conf...