Все, чем интересуются wap мастера.
Рекомендуем хорошую wap баннерную сеть
Обзор китайских товаров
Хороший и качественный хостинг, VDS, VPS, Dedicated с поддержкой
Отправляем письмо на mail.ru со скрипта.
К сожалению mail.ru почему-то не хочет принимать письма, отправленные функцией mail(), что сильно усложняет жизнь. Хороший выход с данной ситуации – отправка письма по протоколу SMTP. Все чудесно работает, и все довольны
Покажу на примере отправки письма с ящика mail.ru.
$smtp_name = 'mymail@mail.ru'; $smtp_pass = 'password'; $smtp_port = '25'; $smtp_host = 'smtp.mail.ru'; $smtp_charset = 'utf-8'; $smtp_from = "от ThisWAP.com"; $subject = "тестируем отправку сообщений"; $mail_to = "test@mail.ru"; $message = "Содержание нашего письма"; $socket=fsockopen($smtp_host, $smtp_port); fgets($socket); fputs($socket, "EHLO $smtp_host\r\n"); fgets($socket); fgets($socket); fgets($socket); fgets($socket); fgets($socket); fputs($socket, "AUTH LOGIN\r\n"); fgets($socket); fputs($socket, base64_encode($smtp_name) . "\r\n"); fgets($socket); fputs($socket, base64_encode($smtp_pass) . "\r\n"); fgets($socket); fputs($socket, "MAIL FROM: <$smtp_name>\r\n"); fgets($socket); fputs($socket, "RCPT TO: <$mail_to>\r\n"); fgets($socket); fputs($socket, "DATA\r\n"); fgets($socket); $msg=''; $msg .= "Reply-To: $smtp_name\r\n"; $msg .= "MIME-Version: 1.0\r\n"; $msg .= "Content-Type: text/plain; charset=\"$smtp_charset\"\r\n"; $msg .= "Content-Transfer-Encoding: 8bit\r\n"; $msg .= "From: \"$smtp_from\" <$smtp_name>\r\n"; $msg .= "To: $mail_to <$smtp_mail>\r\n"; $msg .= "Subject: =?UTF-8?B?" . base64_encode($subject) . "?=\r\n"; $msg .= "X-Priority: 3\r\n\r\n"; $msg .= $message."\r\n"; fputs($socket, $msg."\r\n.\r\n"); fgets($socket);
Давайте подробно разберемся что к чему:
$smtp_name = ‘mymail@mail.ru’; – это имя пользователя
$smtp_pass = ‘password’; – пароль пользователя
$smtp_port = ’25′; – порт подключения
$smtp_host = ‘smtp.mail.ru’; – адрес smtp сервера
$smtp_charset = ‘utf-8′; – кодировка нашего письма
$smtp_from = "от ThisWAP.com"; – имя отправителя, то есть наше имя (поле от кого)
$subject = "тестируем отправку сообщений"; – тема письма
$mail_to = "test@mail.ru"; – адрес получателя (кому отправляем)
$message = "Содержание нашего письма
"; – наше сообщение
С настройками мы закончили, теперь разберем процесс самой отправки письма:
$socket=fsockopen($smtp_host, $smtp_port); – открываем сокет
fgets($socket); – будем принимать ответы
fputs($socket, "EHLO $smtp_host\r\n"); – присоединяемся серверу
fputs($socket, "AUTH LOGIN\r\n"); – запрашиваем авторизацию
Дальше мы посылаем логин и пароль для авторизации, а также информацию от кого письмо и адрес получателя.
fputs($socket, "DATA\r\n"); – сигнализирует сервер о том, что сейчас будет передаваться письмо
В переменной $msg мы формируем наше письмо (посылаем нужные заголовки для корректного принятия письма получателем).
fputs($socket, $msg."\r\n.\r\n"); – отправляем письмо.
Теперь можем радоваться, все пользователи 100% получат письмо и больше не будет жалоб на то, что письма к ним не доходят.
Метки: php отправка письма на mail.ru, альтернатива mail(), Отправка письма по smtp протоколу
Один комментарий к “Отправляем письмо на mail.ru со скрипта.”
Оставить комментарий
Спонсор:
эротические галереи фото бесплатно

Подписка на RSS
281156
26 октября 2011 в 15:23
Спасибо большое! Я очень долго не мог разобраться!