我在1和1托管服务器上使用基本脚本:
$recipient = "email@domain.com";
$sender_name = $_POST['name'];
$sender_email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$headers = "MIME-Version: 1.0"."\r\n";
$headers .= "Content-type:text/html; charset=UTF-8"."\r\n";
$headers .= "From: {$sender_name} <{$sender_email}>"."\r\n";
$headers .= "Reply-to: {$sender_name} <{$sender_email}>"."\r\n";
mail($recipient, $subject, $message, $headers);
Run Code Online (Sandbox Code Playgroud)
..但由于某种原因,我没有收到任何电子邮件,也没有任何错误,因为PHP mail()函数不发送电子邮件指示.
我认为这可能是服务器问题,但1和1表示它完全受支持.在使用收件人,主题和正文之前,我还发送了来自此服务器/主机的电子邮件,所以我不确定为什么它现在不起作用!
UPDATE
没有标题发送,即:
mail($recipient, $subject, $message);
Run Code Online (Sandbox Code Playgroud)
..工作,所以使用标题似乎是一个问题?
可能有很多原因,例如你应该研究什么是SPF.
$ sender_email不能是任何地址,例如你不能放一个gmail地址并发送声称是该发件人的电子邮件,没有任何身份验证,你不能代表该地址发送电子邮件,因为我可以例如发送电子邮件将你的地址放在从,当我不在时(我试图使用简单的单词)冒充你
您应该使用以From@ yourdomain.com结尾的内容,并设置SPF以允许服务器的IP发送该域的电子邮件.或以其他方式通过SMTP发送电子邮件(例如,使用PHPmailer,这很容易)
| 归档时间: |
|
| 查看次数: |
8413 次 |
| 最近记录: |