我在网站上有一个联系表格,如果你提交它会发送到webmail。 例如:
$isi_pesan = $message;
$additional_headers = "From: ".$email."" . "\r\n" . "Reply-To: $email";
$subject = 'Pesan untuk engineering.co.id';
$to = 'info@engineering.co.id';
// $to = 'dy_qie21@yahoo.com'; //this works
if(mail($to, $subject, $isi_pesan, $additional_headers))
echo '<div class="success-msg">Success !</div>';
else
echo '<div class="error-msg">Failed !</div>';
我得到的信息是“成功!”但我在收件箱webmail中什么都没有。如果$ to不是webmail,则PHP邮件可以正常工作。那么我需要更改哪些设置才能使邮件在webmail中正常工作?提前谢谢。
答案 0 :(得分:3)
你看过SPAM文件夹了吗? 看一下这个PHP类
https://github.com/Synchro/PHPMailer
$mail = new PHPMailer;
$mail->From = 'from@example.com';
$mail->FromName = 'Mailer';
$mail->AddAddress('ellen@example.com'); // Name is optional
$mail->IsHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->Send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
exit;
}
echo 'Message has been sent';
答案 1 :(得分:3)
PHP本身并不传递邮件。它只是将其交给本地邮件传递系统。因此,请检查外发邮件服务器的日志。也许该电子邮件被拒绝为垃圾邮件。也许它因为灰名单等原因被推迟了......
用外行人的话来说,PHP的邮件()相当于走下街区并将信件放入邮箱。一旦字母在框中,PHP的工作就完成了,它将报告为真。然后邮局必须拿起信件,把它带到分拣工厂,然后发送(飞机?卡车?船?)。目的地的邮局必须接受送货,做更多的分拣,把信放入卡车,放在某人的邮箱等等......在宏观方案中,PHP的mail()函数大约占交付邮件流程的0.1%,并且您已经证明它成功了。因此,开始分析其他99.9%,以找出问题所在。
答案 2 :(得分:2)
如果这是您的确切代码,那么您将覆盖第一个用第二个来解决的问题:
$to = 'info@engineering.co.id';
$to = 'dy_qie21@yahoo.com'; //this works
如果您想发送给两者,那么您需要执行以下操作:
$to = 'info@engineering.co.id, dy_giel21@yahoo.com';
答案 3 :(得分:0)
在Microsoft Outlook中配置您的网络邮件。现在您将收到联系表格中的邮件。 它对我有用。 ; P