За последние 24 часа нас посетили 22514 программистов и 1014 роботов. Сейчас ищут 650 программистов ...

Как отправить почту с локальной Windows машины

Тема в разделе "Работа с почтой", создана пользователем 440Hz, 27 фев 2009.

  1. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    Делов на 5 минут.
    Меня задрало отвечать на всякие вопросы о том как отправить почту. Думать надо...

    ==========================

    1. качаем http://www.indigostar.com/sendmail.htm (версия на 30 дней. не забываем)

    устанавливаем. тупа жмем на "Дальше"

    читаем если что
    http://www.indigostar.com/smuman.htm#Installation
    там примеры внизу есть.

    2. правим конфиг sendmail.ini

    я использовал свою учетную запись (почтовый ящик) на mail.ru. можно юзать другие. кому как удобно.

    Код (Text):
    1.  
    2. [OPTIONS]
    3. ;Mail servers host name
    4. MAILSERVER=smtp.mail.ru
    5. ;Default value for senders email address
    6. FROM=440hz@mail.ru
    7. ;Default value for reply-to address
    8. REPLYTO=
    9. ;Registration key
    10. REGKEY=none
    11. ;Authenticate to SMTP sever (yes=y)
    12. AUTHENTICATE=y
    13. ;User name for authentication
    14. USERNAME=440hz@mail.ru
    15. ;password for authentication
    16. PASSWORD=********
    3. правим php.ini

    Код (Text):
    1.  
    2. [mail function]
    3. ; For Win32 only.
    4. ;SMTP = localhost
    5. ;smtp_port = 25
    6.  
    7. ; For Win32 only.
    8. ;sendmail_from = 440hz@440hz.ru
    9.  
    10. ; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
    11. sendmail_path = "C:/sendmail/sendmail.exe -t "
    12.  
    13. ; Force the addition of the specified parameters to be passed as extra parameters
    14. ; to the sendmail binary. These parameters will always replace the value of
    15. ; the 5th parameter to mail(), even in safe mode.
    16. ;mail.force_extra_parameters =
    4. Тестируем

    вызываем тест
    Код (Text):
    1.  
    2. C:\sendmail>sendmail -test
    3.  
    4. Sendmail for Windows V3.11 at Fri Feb 27 14:08:11 2009
    5. Machine name: Andrey [89.253.2.93]
    6.  
    7. Sending test message
    8.  
    9. CURRENT CONFIGURATION
    10. [OPTIONS]
    11. ;Mail servers host name
    12. MAILSERVER=smtp.mail.ru
    13. ;Default value for senders email address
    14. FROM=440hz@mail.ru
    15. ;Default value for reply-to address
    16. REPLYTO=
    17. ;Registration key
    18. REGKEY=none
    19. ;Authenticate to SMTP sever (yes=y)
    20. AUTHENTICATE=y
    21. ;User name for authentication
    22. USERNAME=440hz@mail.ru
    23. ;password for authentication
    24. PASSWORD=********
    25.  
    26. This is a 30 day trial version of SendMail for Windows
    27. This copy of sendmail will expire on Sun Mar 29 14:51:01 2009
    28. For more details visit www.indigostar.com
    29.  
    30. Sending mail from 440hz@mail.ru to 440hz@mail.ru
    31. Subject: SendMail generated test message on Fri Feb 27 14:08:11 2009
    32. Message sent successfully
    получаем письмецо
    Код (Text):
    1.  
    2. X-AntiVirus: Checked by Dr.Web [version: 5.0, engine: 5.00.0.12182, virus records: 492735, updated: 27.02.2009]
    3. Return-path: <440hz@mail.ru>
    4. Received: from [89.253.2.93] (port=64819 helo=Andrey)
    5.         by mx5.mail.ru with asmtp
    6.         id 1Ld0Zc-000Fbr-00
    7.         for 440hz@mail.ru; Fri, 27 Feb 2009 14:08:08 +0300
    8. X-AntiVirus: Checked by Dr.Web [version: 5.0, engine: 5.00.0.12182, virus records: 492735, updated: 27.02.2009]
    9. Subject: SendMail generated test message on Fri Feb 27 14:08:11 2009
    10. From: 440hz@mail.ru
    11. To: 440hz@mail.ru
    12. Date: Fri, 27 Feb 2009 14:08:11 +0300
    13. Message-Id: <E1Ld0Zc-000Fbr-00.440hz-mail-ru@mx5.mail.ru>
    14. X-Spam: Not detected
    15. X-Mras: Ok
    16.  
    17.  
    18.  
    19. This is a SendMail generated test message on Fri Feb 27 14:08:11 2009
    20. Please ignore.
    5. Отправляем сами

    maito.php
    PHP:
    1. <?php
    2.  
    3. $to      =  [email='440hz@440hz.ru]'440hz@440hz.ru[/email]';
    4. $subject =  'First letter from localhost';
    5. $message =  'Hello!';
    6. $headers =  'From: [email=440hz@mail.ru]440hz@mail.ru[/email]' . "\r\n" .
    7.             'Reply-To: [email=440hz@mail.ru]440hz@mail.ru[/email]' . "\r\n" .
    8.             'X-Mailer: PHP/' . phpversion();
    9.  
    10. $rc = mail($to, $subject, $message, $headers);
    11.  
    12. var_dump($rc);
    13.  
    14. ?>
    http://localhst/maito.php
    Код (Text):
    1.  
    2. bool(true)

    sendmail.log
    Код (Text):
    1.  
    2. Sendmail for Windows V3.11 at Fri Feb 27 14:09:49 2009
    3. Machine name: Andrey [89.253.2.93]
    4. This is a 30 day trial version of SendMail for Windows
    5. This copy of sendmail will expire on Sun Mar 29 14:51:01 2009
    6. For more details visit www.indigostar.com
    7.  
    8. Sending mail from 440hz@mail.ru to 440hz@440hz.ru
    9. Subject: First letter from localhost
    10. Message sent successfully

    получаем письмецо
    Код (Text):
    1.  
    2. Return-path: <440hz@mail.ru>
    3. Envelope-to: 440hz@440hz.ru
    4. Delivery-date: Fri, 27 Feb 2009 14:14:36 +0300
    5. Received: from mx48.mail.ru ([94.100.176.62]:22920)
    6.         by hosting.440hz.ru with esmtp (Exim 4.68 (FreeBSD))
    7.         (envelope-from <440hz@mail.ru>)
    8.         id 1Ld0fs-0001G3-Ek
    9.         for 440hz@440hz.ru; Fri, 27 Feb 2009 14:14:36 +0300
    10. Received: from [89.253.2.93] (port=1163 helo=Andrey)
    11.         by mx48.mail.ru with asmtp
    12.         id 1Ld0fM-0009sO-00
    13.         for 440hz@440hz.ru; Fri, 27 Feb 2009 14:14:04 +0300
    14. To: 440hz@440hz.ru
    15. Subject: First letter from localhost
    16. From: 440hz@mail.ru
    17. Reply-To: 440hz@mail.ru
    18. X-Mailer: PHP/5.2.5
    19. Date: Fri, 27 Feb 2009 14:14:06 +0300
    20. Message-Id: <E1Ld0fM-0009sO-00.440hz-mail-ru@mx48.mail.ru>
    21. X-Spam: Not detected
    22. X-Mras: Ok
    23. Lines: 1
    24.  
    25.  
    26.  
    27. Hello
    6. Мечтаем о том, как заспамим всю страну!

    7. Надо понимать что многие сервера требуют других SMTP настроек. Как отправлять письма и через что надо выяснять у свих ISP (провайдеров)
     
  2. Alimoff

    Alimoff Активный пользователь

    С нами с:
    27 окт 2008
    Сообщения:
    26
    Симпатии:
    0
    Спасибо!
     
  3. Иванова Оля

    Иванова Оля Активный пользователь

    С нами с:
    21 июн 2010
    Сообщения:
    1
    Симпатии:
    0
    спасибо! помогли!
     
  4. liseko

    liseko Активный пользователь

    С нами с:
    6 мар 2011
    Сообщения:
    6
    Симпатии:
    0
    А как сделать свою почту? В двух словах можно ответить? Что для этого надо, в какую сторону копать?
    Я имею ввиду, что открыта обратная зона и нужен свой собственный сервер...
     
  5. alex455

    alex455 Активный пользователь

    С нами с:
    27 май 2011
    Сообщения:
    63
    Симпатии:
    0
    Было бы неплохо ещё для GNU/Linux howto сделать...
     
  6. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    alex455
    если не ошибаюсь, то на большинстве линуксов и никсов уже поднят демон sendmail, который занимается отправкой почты
    по мануалу устанавливается/настраивается за десять минут.
     
  7. alex455

    alex455 Активный пользователь

    С нами с:
    27 май 2011
    Сообщения:
    63
    Симпатии:
    0
    На хостингах, куда в последствии заливаются сайты с этими скриптами, всегда почтовый сервер уже настроен? То есть можно не тестировать на своей машине (написал скрипт, закачал на хостинг и если всё корректно, почта отправится?)?
     
  8. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    alex455
    ещё не слышал о хостинге, у которого не настроена отправка почты из скриптов.
    почта может не доходить только если отправка сделана неправильна/не прописаны нужные заголовки/айпи у выделенного сервера в чёрном списке
     
  9. dorm

    dorm Активный пользователь

    С нами с:
    11 авг 2011
    Сообщения:
    6
    Симпатии:
    0
    Адрес:
    Беларусь
    А у меня почему-то получается
    Код (Text):
    1.  
    2. bool(false)
     
  10. EndoCrinolog

    EndoCrinolog Активный пользователь

    С нами с:
    4 фев 2012
    Сообщения:
    205
    Симпатии:
    1
    Адрес:
    Тольятти
  11. phpjunior

    phpjunior Новичок

    С нами с:
    23 дек 2013
    Сообщения:
    73
    Симпатии:
    0
    Адрес:
    Барнаул
    а не проще через 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
     
  12. ДмитрийНск

    ДмитрийНск Новичок

    С нами с:
    17 май 2016
    Сообщения:
    16
    Симпатии:
    1
    Сделал как описал топикстартер - не взошло.
    Через почту mail.ru ругался на ssl-шифрование, а через gmail.com пишет следующее:

    Код (Text):
    1. c:\sendmail>sendmail -test
    2.  
    3. Sendmail for Windows V3.11 at Tue May 17 19:53:56 2016
    4. Machine name: DESKTOP-5TA1OKL [192.168.0.76]
    5.  
    6. Sending test message
    7.  
    8. CURRENT CONFIGURATION
    9. [OPTIONS]
    10. ;Mail servers host name
    11. MAILSERVER=smtp.gmail.com
    12. ;Default value for senders email address
    13. FROM=generatorbrd@gmail.com
    14. ;Default value for reply-to address
    15. REPLYTO=
    16. ;Registration key
    17. REGKEY=none
    18. ;Authenticate to SMTP sever (yes=y)
    19. AUTHENTICATE=y
    20. ;User name for authentication
    21. USERNAME=generatorbrd@gmail.com
    22. ;password for authentication
    23. PASSWORD=<пароль>
    24.  
    25. This is a 30 day trial version of SendMail for Windows
    26. This copy of sendmail will expire on Thu Jun 16 19:29:49 2016
    27. For more details visit www.indigostar.com
    28.  
    29. Sending mail from generatorbrd@gmail.com to generatorbrd@gmail.com
    30. Subject: SendMail generated test message on Tue May 17 19:53:56 2016
    31. Error: Unexpected response: 530 5.7.0 Must issue a STARTTLS command first. q191sm534651lfd.22 - gsmtp
    32. Expected ^334
    33. Message delivery failed
     
  13. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    Времена с 2009 года изменились. Когда-то для отправки писем даже аутентификация не требовалась. Ошибка на gmail это тоже требование использовать шифрование, только TLS, что почти одно и то же с SSL. Настрой шифрование в конфиге, полюбас не сложно же!
     
  14. ДмитрийНск

    ДмитрийНск Новичок

    С нами с:
    17 май 2016
    Сообщения:
    16
    Симпатии:
    1
    https://support.google.com/a/answer/176600?hl=ru
    Пробовал как 465 порт (ssl), так и 587 (tsl), реакция та же - её нет.
     
  15. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.230
    Симпатии:
    1.715
    Адрес:
    Молдова, г.Кишинёв
    В документации к sendmail есть инструкция по настройке ssl или tsl?
    Может воспользоватся PHPMailer?
     
  16. ДмитрийНск

    ДмитрийНск Новичок

    С нами с:
    17 май 2016
    Сообщения:
    16
    Симпатии:
    1
    Пользуюсь sendmail-ом, установленным с пакетом Denwer. Все возможные инструкции создателей данного пакета перебрал первым делом. После уже ставил отдельный sendmail отсюда: http://www.indigostar.com/indigomail.php
    Там вообще конфиг сокращённый и убогий - нет массы параметров, в том числе и связанных с шифрованием. Ответ данного сендмайла я и скинул сюда выше.
    Я, честно, уже 2 дня воюю с этой проблемой, умаялся уже в конец. Видимо завтрашний день придётся посвятить изучению phpmailer. Спасибо за совет.
     
  17. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    да там не надо день учить. За час с конфигом и обычной отправкой письма запросто разберёшься.
     
  18. ДмитрийНск

    ДмитрийНск Новичок

    С нами с:
    17 май 2016
    Сообщения:
    16
    Симпатии:
    1
    У меня цель серьёзный портал построить самому, но при этом я владею в совершенстве лишь html и на 4+ css, а php и mysql позавчера впервые начал изучать. И вот после этих головомоек с sendmail изучение mysql мне уже кажется простой и понятной азбукой :-D
    Приложил скрин главной страницы портала - это будет новостной генератор, собирающий новости с десятка городских сайтов, позволяющий комментировать новости простым смертным и отправлять свои новости в отдельную рубрику :)
     

    Вложения:

  19. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    вот с MySQL ты явно погорячился :D
     
  20. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    В конфиге денверского sendmail кроме изменения порта нужно добавить директиву
    Код (Text):
    1. smtp_ssl=ssl
    или
    Код (Text):
    1. smtp_ssl=tls
    ниже указания порта.
     
  21. ДмитрийНск

    ДмитрийНск Новичок

    С нами с:
    17 май 2016
    Сообщения:
    16
    Симпатии:
    1
    Там стоял параметр auto, попробовал сечас и 465 + ssl, и 587 + tsl - результат тот же.
     
  22. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.553
    Симпатии:
    631
    sendmail перезапускал?
    tls
     
  23. ДмитрийНск

    ДмитрийНск Новичок

    С нами с:
    17 май 2016
    Сообщения:
    16
    Симпатии:
    1
    Морально упал со стула, когда увидел этот косяк. Исправил. Не помогло. Огромная всем благодарность, кто помогал в этой и во второй теме: 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
    Всем спасибо огромное!
     
  24. torsar

    torsar Активный пользователь

    С нами с:
    21 ноя 2012
    Сообщения:
    130
    Симпатии:
    1
    Ненавижу всякие денверы и ёбн серверы.

    У меня голый апач на винде 10 и на нем 6 версий пхп от 5.6 до самой последней. :)
    Все устанавливается и конфигиться за минуты. :)
    Все версии пхп конфигяться отдельно и работают одновременно. На разных виртуальных хостах и портах.
    Не надо ничего переключать и перезапускать.

    У меня еще есть виртуальная машина(WmVare) c FreeBSD 13.
    Там, например, Redis.
    С пхп на винде все работает.

    Так вот вопрос:
    можно ли юзать sendmail с виртуальной машины на юниксе
    в пхп на винде?

    Было бы замечательно!!!

    Зы в идеале хочу перенести апач с пхпями на виртуальную машину с юникс.
    А загружать пхп скрипты с браузера под виндой.
    Там уже установлен апач и последняя версия пхп.
    И еще perl и Go. (Зачем не знаю. :) Было по приколу поковырять конфиги и понастраивать :) )

    Но пока не разобрался как в юниксах подтянуть к голому апачу несколько версий пхп. :(