【发布时间】:2018-01-17 23:06:14
【问题描述】:
我想在电子邮件脚本中轮换原始 IP 地址,它用于向我的客户发送通知。
我的服务器有 5 个 IP 地址,所以我创建了一个 IP 数组,并在发送随机更改的 IP 地址时,在这个数组中我不包括主服务器 IP。
在去年 12 月之前一直运行良好,我没有进行任何更改或更新(我不确定是否有任何自动)
这是脚本:
$iparray = array(
'163.xx.217.xx',
'164.xx.217.xx',
);
$ips = $iparray;
$keyip = array_rand($ips);
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
$mail->SMTPDebug = 0;
$mail->SMTPAuth = true;
$mail->SMTPSecure = "none";
$mail->Host = $ips[$keyip];
$mail->Port = 26;
$mail->AddAddress($recipient);
$mail->Username=$senderemail;
$mail->Password=$senderpass;
$mail->SetFrom($senderemail,$sendername);
$mail->AddReplyTo($senderemail,$sendername);
$mail->AddBCC('smtp@xxxxx.co');
$mail->Subject = 'the subject';
$mail->MsgHTML('the message);
注意 $mail->Host 是从数组中随机选择的一个 IP,当检查收到的消息时,我曾经得到这个:
spf=pass (google.com: domain of test@xxxxxxx.co designates 163.xx.217.xx as permitted sender) smtp.mailfrom=test@xxxxxxx.co
但是,自 12 月以来,SPF 检查是在服务器主 IP 上进行的,而不是阵列中的任何选定 IP,这是我不想要的。
这一切正常,但突然发生了变化,可能是 Gmail 服务器吗?会不会是要在服务器中配置的东西?
为了发送电子邮件,我使用 Exim,安装在 Centos 服务器上,通过 WHM 管理。
我没有试图欺骗任何地址,所有 IP 地址都是我的,我只需要确保它们在发送的每封电子邮件上轮换,我可以做到,但现在我不确定要更改什么才能让它再次工作.
感谢大家的帮助
【问题讨论】:
标签: php email phpmailer whm exim