首先,我不知道是否应该上传问题的任何代码。原因是我认为这是一般的。但欢迎提出任何建议。
现在,我有一个php脚本,使用phpmailer在注册时发送电子邮件确认。它在localhost上完美运行。但是,当我将其转移到远程时,它不会复制或发送电子邮件。
知道为什么会这样吗?我没有再次在梅勒工作过。谢谢。
答案 0 :(得分:0)
您必须在本地配置SMTP,然后才能从本地计算机发送邮件
参考:How to send email from localhost WAMP Server to send email Gmail Hotmail or so forth?
感谢。
答案 1 :(得分:0)
您需要了解smtp服务器的工作原理。
您可以从dns获取收件人email-domain的mx主机,然后在没有自己的smtp服务器(本地防火墙上的防火墙上打开端口25)的情况下在端口25(始终)上发送电子邮件给该主机:How to, using PHP, ping an SMTP server and check MX records?或者PHPMailer的。
获取域dns mx记录/主机名(PHP)
function getMX($hostname = "boo.xx", $show = 0){
if(dns_get_mx($hostname, $mxhosts, $weights)) {
$i = 0;
$mxList = NULL;
foreach($mxhosts as $key => $host) {
if($show == 1) echo "Hostname: $host (Weight: {$weights[$key]}) <br>";
$ip = gethostbyname($host);
if($show == 1) echo "IP " . $ip . "\n<br>";
if($show == 1) echo "IP " . gethostbyaddr($ip) . "\n<br>";
$mxList[$i]['host'] = $host;
$mxList[$i]['ip'] = $ip;
$mxList[$i]['weight'] = $weights[$key];
$i++;
}
return $mxList;
} else {
echo "Could not find any MX records for $hostname\n";
}
}