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