Делов на 5 минут. Меня задрало отвечать на всякие вопросы о том как отправить почту. Думать надо... ========================== 1. качаем http://www.indigostar.com/sendmail.htm (версия на 30 дней. не забываем) устанавливаем. тупа жмем на "Дальше" читаем если что http://www.indigostar.com/smuman.htm#Installation там примеры внизу есть. 2. правим конфиг sendmail.ini я использовал свою учетную запись (почтовый ящик) на mail.ru. можно юзать другие. кому как удобно. Код (Text): [OPTIONS] ;Mail servers host name MAILSERVER=smtp.mail.ru ;Default value for senders email address FROM=440hz@mail.ru ;Default value for reply-to address REPLYTO= ;Registration key REGKEY=none ;Authenticate to SMTP sever (yes=y) AUTHENTICATE=y ;User name for authentication USERNAME=440hz@mail.ru ;password for authentication PASSWORD=******** 3. правим php.ini Код (Text): [mail function] ; For Win32 only. ;SMTP = localhost ;smtp_port = 25 ; For Win32 only. ;sendmail_from = 440hz@440hz.ru ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). sendmail_path = "C:/sendmail/sendmail.exe -t " ; Force the addition of the specified parameters to be passed as extra parameters ; to the sendmail binary. These parameters will always replace the value of ; the 5th parameter to mail(), even in safe mode. ;mail.force_extra_parameters = 4. Тестируем вызываем тест Код (Text): C:\sendmail>sendmail -test Sendmail for Windows V3.11 at Fri Feb 27 14:08:11 2009 Machine name: Andrey [89.253.2.93] Sending test message CURRENT CONFIGURATION [OPTIONS] ;Mail servers host name MAILSERVER=smtp.mail.ru ;Default value for senders email address FROM=440hz@mail.ru ;Default value for reply-to address REPLYTO= ;Registration key REGKEY=none ;Authenticate to SMTP sever (yes=y) AUTHENTICATE=y ;User name for authentication USERNAME=440hz@mail.ru ;password for authentication PASSWORD=******** This is a 30 day trial version of SendMail for Windows This copy of sendmail will expire on Sun Mar 29 14:51:01 2009 For more details visit www.indigostar.com Sending mail from 440hz@mail.ru to 440hz@mail.ru Subject: SendMail generated test message on Fri Feb 27 14:08:11 2009 Message sent successfully получаем письмецо Код (Text): X-AntiVirus: Checked by Dr.Web [version: 5.0, engine: 5.00.0.12182, virus records: 492735, updated: 27.02.2009] Return-path: <440hz@mail.ru> Received: from [89.253.2.93] (port=64819 helo=Andrey) by mx5.mail.ru with asmtp id 1Ld0Zc-000Fbr-00 for 440hz@mail.ru; Fri, 27 Feb 2009 14:08:08 +0300 X-AntiVirus: Checked by Dr.Web [version: 5.0, engine: 5.00.0.12182, virus records: 492735, updated: 27.02.2009] Subject: SendMail generated test message on Fri Feb 27 14:08:11 2009 From: 440hz@mail.ru To: 440hz@mail.ru Date: Fri, 27 Feb 2009 14:08:11 +0300 Message-Id: <E1Ld0Zc-000Fbr-00.440hz-mail-ru@mx5.mail.ru> X-Spam: Not detected X-Mras: Ok This is a SendMail generated test message on Fri Feb 27 14:08:11 2009 Please ignore. 5. Отправляем сами maito.php PHP: <?php $to = [email='440hz@440hz.ru]'440hz@440hz.ru[/email]'; $subject = 'First letter from localhost'; $message = 'Hello!'; $headers = 'From: [email=440hz@mail.ru]440hz@mail.ru[/email]' . "\r\n" . 'Reply-To: [email=440hz@mail.ru]440hz@mail.ru[/email]' . "\r\n" . 'X-Mailer: PHP/' . phpversion(); $rc = mail($to, $subject, $message, $headers); var_dump($rc); ?> http://localhst/maito.php Код (Text): bool(true) sendmail.log Код (Text): Sendmail for Windows V3.11 at Fri Feb 27 14:09:49 2009 Machine name: Andrey [89.253.2.93] This is a 30 day trial version of SendMail for Windows This copy of sendmail will expire on Sun Mar 29 14:51:01 2009 For more details visit www.indigostar.com Sending mail from 440hz@mail.ru to 440hz@440hz.ru Subject: First letter from localhost Message sent successfully получаем письмецо Код (Text): Return-path: <440hz@mail.ru> Envelope-to: 440hz@440hz.ru Delivery-date: Fri, 27 Feb 2009 14:14:36 +0300 Received: from mx48.mail.ru ([94.100.176.62]:22920) by hosting.440hz.ru with esmtp (Exim 4.68 (FreeBSD)) (envelope-from <440hz@mail.ru>) id 1Ld0fs-0001G3-Ek for 440hz@440hz.ru; Fri, 27 Feb 2009 14:14:36 +0300 Received: from [89.253.2.93] (port=1163 helo=Andrey) by mx48.mail.ru with asmtp id 1Ld0fM-0009sO-00 for 440hz@440hz.ru; Fri, 27 Feb 2009 14:14:04 +0300 To: 440hz@440hz.ru Subject: First letter from localhost From: 440hz@mail.ru Reply-To: 440hz@mail.ru X-Mailer: PHP/5.2.5 Date: Fri, 27 Feb 2009 14:14:06 +0300 Message-Id: <E1Ld0fM-0009sO-00.440hz-mail-ru@mx48.mail.ru> X-Spam: Not detected X-Mras: Ok Lines: 1 Hello 6. Мечтаем о том, как заспамим всю страну! 7. Надо понимать что многие сервера требуют других SMTP настроек. Как отправлять письма и через что надо выяснять у свих ISP (провайдеров)
А как сделать свою почту? В двух словах можно ответить? Что для этого надо, в какую сторону копать? Я имею ввиду, что открыта обратная зона и нужен свой собственный сервер...
alex455 если не ошибаюсь, то на большинстве линуксов и никсов уже поднят демон sendmail, который занимается отправкой почты по мануалу устанавливается/настраивается за десять минут.
На хостингах, куда в последствии заливаются сайты с этими скриптами, всегда почтовый сервер уже настроен? То есть можно не тестировать на своей машине (написал скрипт, закачал на хостинг и если всё корректно, почта отправится?)?
alex455 ещё не слышал о хостинге, у которого не настроена отправка почты из скриптов. почта может не доходить только если отправка сделана неправильна/не прописаны нужные заголовки/айпи у выделенного сервера в чёрном списке
а не проще через telnet? панель управления=>программы и компоненты=>включение или отключение компонентов Windows дальше ставим галочку напротив telnet сервер и telnet клиент всё сохраняем и закрываем дальше открываем командную строку и пишем telnet smtp.mail.ru=> ESMTP ready ehlo server=>220 smtp36.i.mail.ru ESMTP ready 250-SIZE 73400320 250-8BITMIME 250-AUTH PLAIN LOGIN 250 STARTTLS mail from<ваш ящик>=> 250 2.0.0 OK RCPT To: <ящик получателя>=>250 Accepted DATA=>354 Enter message, ending with «.» On a line by itself From: Ящик отправителя To: Ящик получателя Subject: Тема Текст письма=>250 OK id = 1Olemw-0003QX-1i quit=>221 relay5.uar.net closing connection
Сделал как описал топикстартер - не взошло. Через почту mail.ru ругался на ssl-шифрование, а через gmail.com пишет следующее: Код (Text): c:\sendmail>sendmail -test Sendmail for Windows V3.11 at Tue May 17 19:53:56 2016 Machine name: DESKTOP-5TA1OKL [192.168.0.76] Sending test message CURRENT CONFIGURATION [OPTIONS] ;Mail servers host name MAILSERVER=smtp.gmail.com ;Default value for senders email address FROM=generatorbrd@gmail.com ;Default value for reply-to address REPLYTO= ;Registration key REGKEY=none ;Authenticate to SMTP sever (yes=y) AUTHENTICATE=y ;User name for authentication USERNAME=generatorbrd@gmail.com ;password for authentication PASSWORD=<пароль> This is a 30 day trial version of SendMail for Windows This copy of sendmail will expire on Thu Jun 16 19:29:49 2016 For more details visit www.indigostar.com Sending mail from generatorbrd@gmail.com to generatorbrd@gmail.com Subject: SendMail generated test message on Tue May 17 19:53:56 2016 Error: Unexpected response: 530 5.7.0 Must issue a STARTTLS command first. q191sm534651lfd.22 - gsmtp Expected ^334 Message delivery failed
Времена с 2009 года изменились. Когда-то для отправки писем даже аутентификация не требовалась. Ошибка на gmail это тоже требование использовать шифрование, только TLS, что почти одно и то же с SSL. Настрой шифрование в конфиге, полюбас не сложно же!
https://support.google.com/a/answer/176600?hl=ru Пробовал как 465 порт (ssl), так и 587 (tsl), реакция та же - её нет.
Пользуюсь sendmail-ом, установленным с пакетом Denwer. Все возможные инструкции создателей данного пакета перебрал первым делом. После уже ставил отдельный sendmail отсюда: http://www.indigostar.com/indigomail.php Там вообще конфиг сокращённый и убогий - нет массы параметров, в том числе и связанных с шифрованием. Ответ данного сендмайла я и скинул сюда выше. Я, честно, уже 2 дня воюю с этой проблемой, умаялся уже в конец. Видимо завтрашний день придётся посвятить изучению phpmailer. Спасибо за совет.
У меня цель серьёзный портал построить самому, но при этом я владею в совершенстве лишь html и на 4+ css, а php и mysql позавчера впервые начал изучать. И вот после этих головомоек с sendmail изучение mysql мне уже кажется простой и понятной азбукой :-D Приложил скрин главной страницы портала - это будет новостной генератор, собирающий новости с десятка городских сайтов, позволяющий комментировать новости простым смертным и отправлять свои новости в отдельную рубрику
В конфиге денверского sendmail кроме изменения порта нужно добавить директиву Код (Text): smtp_ssl=ssl или Код (Text): smtp_ssl=tls ниже указания порта.
Морально упал со стула, когда увидел этот косяк. Исправил. Не помогло. Огромная всем благодарность, кто помогал в этой и во второй теме: https://php.ru/forum/threads/warning-cannot-modify-header-information-headers-already-sent-by.58510/ Сегодняшний день по совету местного форумчанина потратил на phpmailer, о чём не жалею, весьма познавательно и интересно. Завтрашний день опять же по совету местных посвящу open_server_5_2_4_ultimate, который только что скачался. Так что не прощаюсь ))) --- Добавлено --- Всё-таки не удержался и поставил сегодня open-server. Это просто бомба. Разобрался с ним махом и через 15 минут удалось отправить письмо через тестовую форму. Кстати, для этого понадобилось разрешить управление аккаунтом непроверенным приложениям через меню: https://www.google.com/settings/security/lesssecureapps Всем спасибо огромное!
Ненавижу всякие денверы и ёбн серверы. У меня голый апач на винде 10 и на нем 6 версий пхп от 5.6 до самой последней. Все устанавливается и конфигиться за минуты. Все версии пхп конфигяться отдельно и работают одновременно. На разных виртуальных хостах и портах. Не надо ничего переключать и перезапускать. У меня еще есть виртуальная машина(WmVare) c FreeBSD 13. Там, например, Redis. С пхп на винде все работает. Так вот вопрос: можно ли юзать sendmail с виртуальной машины на юниксе в пхп на винде? Было бы замечательно!!! Зы в идеале хочу перенести апач с пхпями на виртуальную машину с юникс. А загружать пхп скрипты с браузера под виндой. Там уже установлен апач и последняя версия пхп. И еще perl и Go. (Зачем не знаю. Было по приколу поковырять конфиги и понастраивать ) Но пока не разобрался как в юниксах подтянуть к голому апачу несколько версий пхп.