PHP - PHPMailer使用多个SMTP主机发送电子邮件



我正在与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'];

最新更新