За последние 24 часа нас посетили 17562 программиста и 1582 робота. Сейчас ищут 1417 программистов ...

Отправка на email из php

Тема в разделе "PHP для новичков", создана пользователем shiva, 23 фев 2019.

  1. shiva

    shiva Новичок

    С нами с:
    23 фев 2019
    Сообщения:
    4
    Симпатии:
    0
    Всем привет.

    Столкнулся с проблемой отправки на email из php. Сделал Web-страницу с формойа на которой пользователь вводит к примеру:
    имя
    email
    сообщение


    и нажимает кнопку Отправить. Данные передаются в php-файл. И они туда приходят. Проверял. А дальше нужно эти данные отправить на нужный мне адрес.

    Скачал sendmail. Настроил параметры в php.ini

    SMTP = smtp.gmail.com
    smtp_port = 465
    sendmail_from = user@gmail.com

    где вместо user указал свой реальный логин
    sendmail_path = "\"C:\web\php\sendmail\sendmail.exe\" -t"

    больше в php.ini ничего не трогал на тему почты. Единственно что,
    extension=openssl раскоментировал, когда не получалось отправить почту. Но это не помогло никак.

    в sendmail.ini
    smtp_server=smtp.gmail.com
    smtp_port=465
    smtp_ssl=auto
    error_logfile=error.log
    debug_logfile=debug.log
    auth_username=user@gmail.com
    auth_password=!*******
    from user@gmail.com
    auth on
    force_sender=shivara551@gmail.com
    hostname=gmail.com


    вместо user и звездочек указал реальные свои данные

    в итоге при отправке через функцию mail() ошибки не выдается и получаю в результате выполнения функции mail - true, однако в error.log sendmail-a и других log-файлах сообщается либо

    Error connecting with SSL.

    Пробовал через phpmailer, но тоже результата не добился.

    Пробовал как с со своего домашнего компа с localhost-a, где настроен apache + php7, а так же с хостинга (что использую в статусе тестового периода).

    В настройках отправки для sendmail.ini и php.ini пробовал указывать настройки серверов yandex.ru и gmail.com по отдельности.


    Нашел информацию несколько лет назад на почтовых серверах стали использовать ssl и тот же mail() из php с ним не дружит. C Phpmailer успехов у меня так же нет. Там даже никаких Log-файлов нет. Не увидел во всяком случае. Как решить эту проблему?

    Так же хотелось бы так же просветиться:

    В былые времена, когда инет был медленным и для получения почты в основном использовались Outlook Express, The Bat и подобные..я помню указывал так же
    smtp
    pop3
    порты
    логин
    пароль почтового аккаунта.

    Могу ли я с дома без доп. софта типа почтового сервера отправлять с localhost-a своего компа сообщение на нужный мне Email из php используя только Apache+ php+настройки сервера где у меня есть почта(например yandex.ru или gmail.com)?
     
  2. shiva

    shiva Новичок

    С нами с:
    23 фев 2019
    Сообщения:
    4
    Симпатии:
    0
    изменил в sendmail smtp_ssl с auto на tls

    smtp_ssl=tls

    получаю в итоге в log-файлах

    Closed Gracefully

    но письма не приходят все равно.
     
  3. shiva

    shiva Новичок

    С нами с:
    23 фев 2019
    Сообщения:
    4
    Симпатии:
    0
    Получилось через phpmailer с localhost отправлять почту. Но теперь другой вопрос. Когда я выкладываю папку на хостинг, там это не работает.
    Выдает:

    Message could not be sent.Mailer Error: SMTP connect() failed. https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

    Смотрел причину на https://github.com/PHPMailer/PHPMailer/wiki/Troubleshooting

    мол не включена openssl расширение
    через phpinfo() посмотрел на хостинге настройки php.


    OpenSSL support enabled
    OpenSSL Library Version OpenSSL 1.1.1a-freebsd 20 Nov 2018
    OpenSSL Header Version OpenSSL 1.1.1a-freebsd 20 Nov 2018
    Openssl default config /etc/ssl/openssl.cnf
     
  4. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.576
    Симпатии:
    1.759
    Хостеры иногда закрывают выходы по SMTP на внешние сервера. Иногда разрешают это только по определённому порту. Так что напиши в поддержку, спроси, разрешено ли слать запросы на внешние SMTP и если да, то по какому порту
     
  5. shiva

    shiva Новичок

    С нами с:
    23 фев 2019
    Сообщения:
    4
    Симпатии:
    0
    Спасибо. Попробую. :)