這裏有一個PHP代碼,我用它來測試我的一個表單的電子郵件發送。雖然它運行良好,但由於某種原因,它會將 @ localhost.mydomain.com附加到發件人的電子郵件地址。以下是一個示例:PHP將localhost添加到正在發送的電子郵件中
From: James <[email protected]@localhost.mydomain.com>
下面是以下完整代碼。
<?php
$email = sqlEscape($_POST['email']);
$name = sqlEscape($_POST['name']);
$to = '[email protected]';
$subject = 'Email From website';
$message = 'The message here';
$headers = 'From: "'.$name.'" <"'.$email.'">' . "\n";
$headers .= 'MIME-Version: 1.0' . "\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\n";
if(mail($to, $subject, $message, $headers)){
echo('Message sent successfully');
}else{
echo('<a href="contact.php">Click here</a> to try again.');
}
?>
有沒有辦法讓它不要追加它?謝謝
你有沒有嘗試'sqlEscape()'? – Leri
爲什麼你sqlEscape的東西不會進入任何形式的sql – Anigel
在發送之前'$ email'的值是什麼?你使用什麼SMTP服務?您的SMTP服務器可能會有一個策略,將實際的出站域添加到中繼地址的From頭中。 –