phpmailer和swiftmailer发信SMTP

<?php
//require 'PHPMailer/src/Exception.php';
//require 'PHPMailer/src/PHPMailer.php';
//require 'PHPMailer/src/SMTP.php';

use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\SMTP;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php';

$mail = new PHPMailer(true);           // Passing `true` enables exceptions
try {
    $mail->CharSet ="UTF-8";                     //设定邮件编码
    $mail->SMTPDebug = SMTP::DEBUG_OFF;          // 调试模式输出
    $mail->isSMTP();                             // 使用SMTP
    $mail->Host = 'smtp.126.com';                // SMTP服务器
    $mail->SMTPAuth = true;                      // 允许 SMTP 认证
    $mail->Username = 'name@xxx.com';                // SMTP 用户名  即邮箱的用户名
    
    $mail->Password = 'password';             // SMTP 密码  部分邮箱是授权码(例如163邮箱)
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;  // 允许 TLS 或者ssl协议
    $mail->Port = 465;// 服务器端口 25 或者465 具体要看邮箱服务器支持
    
    $mail->setFrom('name@xxx.com', '频率跳动资源网');  //发件人
    //$mail->addAddress('251023596@qq.com', 'breeze');  // 收件人
    //$mail->addAddress('ellen@example.com');  // 可添加多个收件人
    $mail->addReplyTo('name@xxx.com', '频率跳动资源网'); //回复的时候回复给哪个邮箱 建议和发件人一致

    // 邮件数组
    $emails = [
        '251023596@qq.com' => 'breeze',
    ];
    
    // 循环发送邮件
    foreach ($emails as $email => $name) {
        $mail->clearAddresses(); // 清除之前的收件人
        $mail->addAddress($email, $name); // 添加当前收件人
        
        // $mail->addAttachment('./upload/files/xy.zip');         // 添加附件,用这个显示名称默认文件名称
        // $mail->addAttachment('./upload/files/thumb-1.jpg', 'new.jpg');    // 发送附件并且重命名,用这个显示名称可以自定义
        
        //如果需要在邮件内容里面贴图片,需要填写下面语句,然后再html代码里面使用<img src="cid:weixin_img" >来接收
        //切记,如果附件和图片同时存在,需要 先添加附件再添加图片,不然图片不显示(PS:发现也没用了,2个不能同时存在, 目前没有找到解决办法,如果你能解决了给我留个言呗,谢谢)
        $mail->addEmbeddedImage('./logo.png','logo_img');  // 添加图片
        
        $mail->setLanguage('zh-cn', 'D:/easyphp/wwwroot/hertzdance/vendor/phpmailer/phpmailer/language/');
        
        $mail->isHTML(true); // 是否以HTML文档格式发送  发送后客户端可直接显示对应HTML内容
        $mail->Subject = '极速下载(https://www.swiftdown.com/)焕新升级!!! by phpmailer';
        $mail->Body    = '<img src="cid:logo_img" /><br><h1>本站即日起,全新升级为 <span style="color:red;font-weight:blod;"><a target="_blank" href="https://www.hertzdance.com/">频率跳动资源网</a></span></h1>' . date('Y-m-d H:i:s') . '<br>';
        $mail->Body    .= '新站域名是 https://www.hertzdance.com/,欢迎各位新老客户访问!<br><br>';
        $mail->Body    .= '号外!号外!新站正在做活动,新注册用户购买相关服务送积分或VIP会员!<br><br>';
        $mail->Body    .= '注意!注意!老客户(购买过极速下载站服务的客户)注册新站后请QQ与我(251023596)联系,送福利!';
        $mail->AltBody = '本站即日起,全新升级为频率跳动资源网,新站域名是 https://www.hertzdance.com/,欢迎各位新老客户访问!目前本站正在做活动~';
        $mail->send();
        echo "邮件发送成功 {$name} <{$email}>\n";
    }
} catch (\Exception $e) {
    echo '邮件发送失败' . $mail->ErrorInfo;
}



<?php
//https://swiftmailer.symfony.com/docs/introduction.html
require 'vendor/autoload.php';

//$smtpUtf8 = new Swift_Transport_Esmtp_SmtpUtf8Handler();
//$transport->setExtensionHandlers([$smtpUtf8]);
//$utf8Encoder = new Swift_AddressEncoder_Utf8AddressEncoder();
//$transport->setAddressEncoder($utf8Encoder);

// Create the Transport
$transport = (new Swift_SmtpTransport('smtp.126.com', 465, 'ssl'))
            ->setUsername('name@xxx.com')
            ->setPassword('password');

// Create the Mailer using your created Transport
$mailer = new Swift_Mailer($transport);

// Rate limit to 100 emails per-minute
$mailer->registerPlugin(new Swift_Plugins_ThrottlerPlugin(100, Swift_Plugins_ThrottlerPlugin::MESSAGES_PER_MINUTE));

// Rate limit to 10MB per-minute
$mailer->registerPlugin(new Swift_Plugins_ThrottlerPlugin(1024 * 1024 * 10, Swift_Plugins_ThrottlerPlugin::BYTES_PER_MINUTE));

$logger = new Swift_Plugins_Loggers_ArrayLogger();
$mailer->registerPlugin(new Swift_Plugins_LoggerPlugin($logger));

// Create a message
$message = new Swift_Message('极速下载(https://www.swiftdown.com/)焕新升级!!! by swiftmailer');

// 添加图片并获取CID
$imagePath = 'logo.png';
$imageData = file_get_contents($imagePath);
//$cid = $message->embed((new Swift_Image($imageData, 'logo_png'))->setContentType('image/png'));
//$image = (new Swift_Image())->setFilename('logo.png')->setContentType('image/png')->setBody($imageData);
//$cid = $message->embed($image);
$cid = $message->embed(new Swift_Image($imageData, 'logo_png', 'image/png'));

$message
->setCharset('UTF-8')
->setSender('name@xxx.com', '频率跳动资源网')
->setFrom(['name@xxx.com' => '频率跳动资源网'])
->setTo([
    '251023596@qq.com' => 'breeze'
])
//->attach(Swift_Attachment::fromPath('logo.png','image/png')->setFilename('logo.png'))
->setBody(
'<html>' .
'<body>' .
'<img src="' . $cid . '" alt="Image" /><br><h1>本站即日起,全新升级为 <span style="color:red;font-weight:blod;"><a target="_blank" href="https://www.hertzdance.com/">频率跳动资源网</a></span></h1>' . date('Y-m-d H:i:s') . '<br>'
. '新站域名是 https://www.hertzdance.com/,欢迎各位新老客户访问!<br><br>'
. '号外!号外!新站正在做活动,新注册用户购买相关服务送积分或VIP会员!<br><br>'
. '注意!注意!老客户(购买过极速下载站服务的客户)注册新站后请QQ与我(251023596)联系,送福利!'
. '</body>'
. '</html>',
'text/html');

// Send the message
$result = $mailer->send($message);
echo '<pre>';
echo $logger->dump();

原文链接:https://www.hertzdance.com/blog/phpmailer-swiftmailer-smtp,转载请注明出处。

0

评论0

请先
欢迎光临频率跳动资源网
显示验证码
没有账号?注册  忘记密码?