我的网站上有一个简单的表格。人们留下了一个名字和电子邮件。他们会发送下载链接,然后发送他们的数据。
所有这些都适用于我的测试服务器,但不是实时的。我的提供商对于发送邮件很挑剔,并且想要一个正确的来自adres的说明。
问题:我该如何解决这个问题。我有一个来自adres的标题:
$from = 'name@example.com';
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$headers .= 'From: In2Motivation <{$from}>' . "\r\n";
mail($to, $subject, $message, $headers,);
我也尝试过:mail($to, $subject, $message, $headers, '-f name@example.com');
但它仍然不会发送任何东西。这出了什么问题?这是我的脚本还是我的提供商端的东西?
每个人都可以帮助我吗?非常感谢!!!
答案 0 :(得分:1)
变量$from
未在单引号内展开,请改用双引号:
<?php
//debug start - comment on production
error_reporting(E_ALL);
ini_set('display_errors', '1');
//debug end
$to = 'nobody@example.com';
$subject = 'the subject';
$message = 'hello';
$headers = "From: In2Motivation <{$from}> \r\n" .
'MIME-Version: 1.0' . "\r\n" .
'Content-type: text/html; charset=iso-8859-1' . "\r\n".
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
if(mail($to,$subject,$message,$headers)){
echo "email sent";
}else{
echo "email failed";
}