2013-09-29 5 views
0

я следующие заголовки в моем мэйлеру классеPHP Sendmail заголовки не работают правильно

// domain is equal to current domain with capital letters if any 
$from = domain; 
$replyto = '[email protected]'.strtolower(domain); 

$headers = "From: $from\r\nReply-To: ".$replyto; 
$headers .= "\nMIME-Version: 1.0\nContent-Type: text/html; charset=\"utf-8\"\r\n"; 

Но по какой-то причине, когда я отправить письмо в своем почтовом ящике я получаю письмо от [email protected] который ужасно. Как я могу указать только имя моего сайта в качестве отправителя?

+0

Есть ли конкретная причина, почему вы иногда использовать '\ г \ n' между двумя заголовками а иногда просто '\ n'? – TheWolf

+0

Множество различных настроек могут влиять на заголовки писем. Наиболее тривиальным является конфигурация почтового сервера. Вы можете попробовать отправить почту с почтовым кликом unix cli, чтобы проверить, что происходит с заголовками. (Это только первый шаг отладки.) Или, может быть, с telnet в localhost. В противном случае использование phpmailer может быть хорошей идеей. Но, вероятно, ваши серверы MTA вынуждают нежелательный почтовый адрес. –

+0

Вы используете функцию 'mail()' из php? сборка заголовков вручную может быть болью, я перешел на http://pear.php.net/manual/de/package.mail.mail.php, с которым гораздо легче работать. – jotaen

ответ

4

Для того, чтобы правильно разобрать имена и адреса электронной-адреса, вы должны предоставить их в следующем формате:

'From: Name <[email protected]>' 

Так что было бы что-то вроде

'From: Marty McVry <[email protected]>' 

Используя ваш пример:

$headers = "From: $from <$replyto>\r\nReply-To: ".$replyto; 

Напоминание: я надеюсь, что вам не обязательно использовать $domain вместо domain ... В противном случае это была бы глупая опечатка. :-)

+0

Удивительный материал! Благодарю вас. McVry. –

1

Вы можете попробовать использовать этот код:

<?php 
$to  = '[email protected]'; 
$subject = 'the subject'; 
$message = 'hello'; 
$headers = 'From: [email protected]' . "\r\n" . 
'Reply-To: [email protected]' . "\r\n" . 
'X-Mailer: PHP/' . phpversion(); 

mail($to, $subject, $message, $headers); 
?> 

Для получения более подробной информации читайте о mail function

Смежные вопросы