簡體   English   中英

PHP-PHPMailer使用多個SMTP主機發送電子郵件

[英]PHP - PHPMailer send email with multiple SMTP hosts

我正在與PHPMailer一起使用SMTP服務器發送電子郵件。 我可以成功發送電子郵件。 但是,我想用具有不同用戶名和密碼的多個SMTP服務器配置代碼。 如何實現此功能。 根據PHPMailer文檔,我們可以提供備用SMTP服務器。 但是如何用不同的用戶名和密碼配置它。

下面是代碼片段,

$mail->SMTPDebug = 2;                                       // Enable verbose debug output
$mail->isSMTP();                                            // Set mailer to use SMTP
$mail->Host       = 'smtp1.example.com;smtp2.example.com';  // Specify main and backup SMTP servers
$mail->SMTPAuth   = true;                                   // Enable SMTP authentication
$mail->Username   = 'user@example.com';                     // SMTP username
$mail->Password   = 'secret';                               // SMTP password
$mail->SMTPSecure = 'tls';                                  // Enable TLS encryption, `ssl` also accepted
$mail->Port       = 587;                                    // TCP port to connect to

請幫我解決一下這個。 任何幫助將不勝感激。 謝謝。

首先定義服務器,然后選擇要使用的服務器,例如:

$servers = [
    [
        'host'     => 'server1.example.com',
        'username' => 'user 1',
        'password' => 'password1',
    ],
    [
        'host'     => 'server2.example.com',
        'username' => 'user 2',
        'password' => 'password2',
    ],
    [
        'host'     => 'server3.example.com',
        'username' => 'user 3',
        'password' => 'password3',
    ],
];

//Pick a random server (or however you want to select a server)
$server = $servers[array_rand($servers)];

//Use the selected server values for mailing
$mail->Host = $server['host'];
$mail->Username = $server['username'];
$mail->Password = $server['password'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM