Отправка почты на mail.ru

Статус
В этой теме нельзя размещать новые ответы.

dima_s_d_s

Создатель
Регистрация
5 Дек 2008
Сообщения
22
Реакции
3
Раньше с моего сайта я мог отправить сообщение на свой почтовый ящик, средством mail(). Но спустя какое-то время письма просто перестали доходить.
Писал поддержке mail.ru в ответ попросили лог файл, выслал, получил ответ в котором говорилось что проблема может возникать в отсутствии обязательного заголовка.

Может кто подскажет в чем тут может быть проблема, и как её решить?
Кто может привести пример скрипта ?

Заранее благодарен.
 
Раньше с моего сайта я мог отправить сообщение на свой почтовый ящик, средством mail(). Но спустя какое-то время письма просто перестали доходить.
Писал поддержке mail.ru в ответ попросили лог файл, выслал, получил ответ в котором говорилось что проблема может возникать в отсутствии обязательного заголовка.

Может кто подскажет в чем тут может быть проблема, и как её решить?
Кто может привести пример скрипта ?

Заранее благодарен.
Может и с нами поделитесь логами, передаваемыми header'ами? А то профессиональный шаман нулледа в отпуске.
 
Проблема может быть со sendmail
Из-за него, иногда, не отправлялись письма с сервера.
Пример кода:
Код:
<?php
//посылаем адресату
$to = '[I]ваш емей[/I]л';
//заголовок
$subject = '[I]Заголовок письма[/I]'; 
//create a boundary string. It must be unique 
//so we use the MD5 algorithm to generate a random hash
$random_hash = md5(date('r', time())); 
//define the headers we want passed. Note that they are separated with \r\n
$headers = "From: [I]от кого[/I]\r\nReply-To: [I]Кому ответить[/I]";
//add boundary string and mime type specification
$headers .= "\r\nContent-Type: multipart/alternative; boundary=\"PHP-alt-".$random_hash."\""; 
//define the body of the message.
ob_start(); //Turn on output buffering
?>
--PHP-alt-<?php echo $random_hash; ?>
Content-Type: text/plain; charset="cp1251"
Content-Transfer-Encoding: 7bit

[I]Текст письма(обычно html)[/I]
<?
//copy current buffer contents into $message variable and delete current output buffer
$message = ob_get_clean();
//send the email
$mail_sent = @mail( $to, $subject, $message, $headers );
//if the message is sent successfully print "Mail sent". Otherwise print "Mail failed" 
echo $mail_sent ? "Mail sent" : "Mail failed";
 
Может и с нами поделитесь логами, передаваемыми header'ами? А то профессиональный шаман нулледа в отпуске.

Жаль что шаман в отпуске ;)

Вот логи
Apr 2 23:36:00 vitech sendmail[29697]: n32Ja0vL029697: to=<user_name@mail.ru>, ctladdr=www (503/503), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30167, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (n32Ja0e3029698 Message accepted for delivery)
Apr 2 23:36:01 vitech sendmail[29700]: n32Ja0e3029698: mxs.mail.ru.: SMTP DATA-2 protocol error: 503 valid RCPT command must precede DATA
Apr 2 23:36:01 vitech sendmail[29700]: n32Ja0e3029698: to=<user_name@mail.ru>, delay=00:00:01, xdelay=00:00:00, mailer=esmtp, pri=30375, relay=mxs.mail.ru. [94.100.176.20], dsn=5.5.0, stat=Remote protocol error

Вот пример скрипта отправки

PHP:
	$name = "Vasya";
	$mail = "user_name@mail.ru";
	$theme = "Тема сообщения";
	$message = "Хай!!!";
	$from = "From: $names <".$email.">\r\n Content-type: text/html; charset=windows-1251";
	mail($mail, $theme, $message, $from);
 
Проверил скрипт, на яндекс письмо ушло успешно.
Хотя логи пишут, что ошибка удаленного протокола
Попробуй так:
Код:
<?php
 $name = "Vasya";
 $mail = "test3@mail.ru";
 $headers = "From: test1@mail.ru\r\nReply-To: test2@mail.ru";

    $theme = "Тема сообщения";
    $message = "Хай!!!";
    $from = "From: $names <".$email.">\r\n Content-type: text/html; charset=windows-1251";
    mail($mail, $theme, $headers, $message, $from);
    ?>
 
Проверил скрипт, на яндекс письмо ушло успешно.
Хотя логи пишут, что ошибка удаленного протокола
Попробуй так:
Код:
<?php
 $name = "Vasya";
 $mail = "test3@mail.ru";
 $headers = "From: test1@mail.ru\r\nReply-To: test2@mail.ru";

    $theme = "Тема сообщения";
    $message = "Хай!!!";
    $from = "From: $names <".$email.">\r\n Content-type: text/html; charset=windows-1251";
    mail($mail, $theme, $headers, $message, $from);
    ?>

В том то и дело, на другие почтовики доходит, gmail yandex и тд. А на mail.ru не доходят.
Попробовал, эффекта ноль.
 
Значит, проблема на стороне mail.ru(я всегда думаю на smtp сервер и sendmail)
Попробуйте использовать другие скрипты, например, что написал выше.
У меня он работает :)

А что намудрили админы на майл.ру - ХЗ.
Если жалуются на отсутствия обязательного заголовка, может?:
Код:
<?php
 $name = "Vasya";
 $mail = "test@mail.ru";
 $subject = '[B]Заголовок письма[/B]'; 
 $theme = "Тема сообщения";
 $message = "Хай!!!";
 $from = "From: $names <".$email.">\r\n Content-type: text/html; charset=windows-1251";
 mail($mail, $theme, $subject, $message, $from);
    ?>
 
Попробуйте использовать другие скрипты, например, что написал выше. У меня он работает

Работает в таком формате как написан?
Отправляет на mail.ru ?
 
Да. Только что проверил, работает.
Если будут проблемы с кодировкой, поменяй
Content-Type: text/plain; charset="cp1251"

на UTF-8
Удачи :)
 
Странно, но не пашет! На gmail отправляет на mail.ru не хочет
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху