当我添加.com.sg而不是.com时,PHP邮件函数无法发送电子邮件

当我添加.com.sg而不是.com时,PHP邮件函数无法发送电子邮件,php,function,email,Php,Function,Email,我想发送一个链接,供用户在注册后验证其帐户。但是当我在$message上使用www.singapore.com时,我可以接收电子邮件,但当我将其更改回www.singapore.com.sg时,我无法接收。我想知道是因为链接还是我的代码有错误?请帮帮我 $domain ='www.singapore.com'; $id = mysql_insert_id(); $to = 'myemail@gmail.com'; $subject = "E-mail Verification"; $me

我想发送一个链接,供用户在注册后验证其帐户。但是当我在$message上使用www.singapore.com时,我可以接收电子邮件,但当我将其更改回www.singapore.com.sg时,我无法接收。我想知道是因为链接还是我的代码有错误?请帮帮我

$domain ='www.singapore.com'; 
$id = mysql_insert_id(); 
$to = 'myemail@gmail.com'; 
$subject = "E-mail Verification"; 
$message = 'Click on the link to verify your account: http://'.$domain.'/rates/activation.php?id='.$id.' '; 
$headers = "From: <Singapore> \r\n"; 
mail($to,$subject,$message,$headers, '-f enquiry@singapore.com.sg'); 

您需要-f信封选项吗?如果内存可用,则需要在sendmail配置中将放入的任何地址作为受信任用户添加

我在PHP邮件文档中发现:

应将运行Web服务器的用户添加为受信任用户 到sendmail配置,以防止出现“X警告”标头 在使用设置信封发送者-f时添加到邮件中 这个方法。对于sendmail用户,此文件为/etc/mail/trusted users

您只是在尝试设置回复到和来自地址吗?如果是这样的话,就使用$header,而不必考虑其他参数

$headers = “From: enquiry@singapore.com.sg” . “\r\n” . “Reply-To: enquiry@singapore.com.sg”;

您的代码有问题。换成这个

$message = 'Click on the link to verify your account: http://'.$domain.'/rates/activation.php?id='.$id;
它最后有额外的报价


希望这有助于

它是否返回任何错误消息?我想在$message中添加激活链接。但是当我在$domain后面添加.sg时,用户无法接收我的电子邮件。请查看PHP邮件函数,以便更好地理解。仍然无法将其与链接中的.sg一起发送…:您的代码一定有问题,因为$message只是一个字符串。如果its.com.sg或just.com,则不会影响任何内容。请阅读php手册,了解邮件功能的正确用法。最好找出错误所在。您可以查看错误日志。当您知道错误是什么时,很容易修复。