Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP';邮件()';功能不发送电子邮件_Php_Email - Fatal编程技术网

PHP';邮件()';功能不发送电子邮件

PHP';邮件()';功能不发送电子邮件,php,email,Php,Email,我正在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/ht

我正在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);

…不起作用,因此使用邮件头似乎有问题?

邮件头中的错误会影响邮件传递。例如,如果您发送的电子邮件标题错误,那么假设用户的电子邮件是user@email.com他的名字是“用户”,你把电子邮件发给他user@email.com如果服务器上的邮件不匹配,则可能会导致邮件成为垃圾邮件或根本不被接受

例如,Gmail的每个电子邮件id都有一个名称。如果你在电子邮件中输入了一个错误的名称,那么该电子邮件可能不会显示在收件箱中,有时甚至是垃圾邮件中

“但在我附加的链接中,给出的示例使用了由表单输入设置的“from”标题?”


如果您希望您的用户能够向您发送电子邮件,最好使用您自己的电子邮件地址作为发件人电子邮件。例如,如果您的网站位于website.com,请将电子邮件配置为“contact@website.com“并将您的脚本配置为使用此as From标题,您可以将其发送到同一域(website.com)的您自己的电子邮件或您授权的任何其他电子邮件。您可以在邮件中添加用户的实际详细信息。这将确保电子邮件始终成功送达。

可能有很多原因,例如,你应该研究什么是SPF

$sender\u电子邮件不能是任何地址,例如,你不能输入gmail地址并发送声称是该发件人的电子邮件,没有任何身份验证,你不允许代表该地址发送电子邮件,因为我可以发送电子邮件,将你的地址放在发件人中,在我不在时假装是你(我试着用简单的词)


您应该在
From
中使用以@yourdomain.com结尾的内容,并设置SPF以允许服务器的IP发送该域的电子邮件。或者通过SMTP发送电子邮件(例如,使用PHPmailer,这非常简单)

您的
smtp
pop
服务器是否已配置?@MridulKashyap我不知道,但正如我所说的-它以前在不必配置邮件的情况下工作过。mail()函数返回什么?true或false?true,但我意识到如果我不包含邮件头(它们在我的垃圾邮件文件夹中),邮件将发送出去-我的邮件头中是否存在可能导致此问题的错误?@CallanHeard您的邮件头看起来很好。可能是服务器信誉问题?问题?啊,是的,这很有道理,谢谢您提供的信息
mail($recipient, $subject, $message);