PHP + Ubuntu Отправка электронной почты с помощью формы gmail localhost

Я просмотрел несколько сообщений об этом, но безуспешно. Все используют постфикс. Но когда я просмотрел текст на https://help.ubuntu.com/community/Postfix

Что такое агент пересылки почты? Другими словами, это почтовый сервер, а не почтовый клиент, такой как Thunderbird, Evolution, Outlook, Eudora, или веб-служба электронной почты, такая как Yahoo, GMail, Hotmail, Earthlink, Comcast, SBCGlobal.net, ATT. .net и т. д. Если вы работали в компании Acme и владели acme.com, вы могли бы предоставить своим сотрудникам адреса электронной почты @ acme.com. Сотрудники могут отправлять и получать электронную почту через ваш компьютер, но не без того, чтобы ваш компьютер работал все время. Если все ваши адреса электронной почты находятся в домене (@ gmail.com, @ yahoo.com), которым вы не владеете (вы не владеете Google) или не размещаете (acme.com), то этот домен вам не нужен. вообще.

Как сказано в последней строке, вы не можете использовать его для Gmail или Yahoo, чтобы он работал с localhost ..!

Может ли кто-нибудь сказать мне, как я могу настроить почтовый сервер на локальном хосте с помощью gmail SMTP? Я использую Ubuntu 14.

Ссылки, которые я пробовал раньше, НИ ОДИН из них у меня не работал. Никаких ошибок или предупреждений во время тестирования ниже перечисленных ссылок

https://askubuntu.com/questions/314664/sending-php-mail-from-localhost https://askubuntu.com/questions/228938/how-can-i-configure-postfix-to-send-all-email-through-my-gmail-account https://easyengine.io/tutorials/linux/ubuntu-postfix-gmail-smtp/ https://easyengine.io/tutorials/mail/postfix-debugging/


person Mangesh Sathe    schedule 28.11.2015    source источник


Ответы (2)


Чтобы отправить почту с localhost в Ubuntu / Linux через gmail, выполните следующие действия: -

Для этого вам необходимо установить msmtp на сервер Linux / Ubuntu.

Gmail использует https: // (он защищен гипертекстом), поэтому вам необходимо установить ca-certificates

~$ sudo apt-get install msmtp ca-certificates

Установка пакета msmtp займет несколько секунд.

Теперь вам нужно создать файл конфигурации (msmtprc) с помощью редактора gedit.

~$ sudo gedit /etc/msmtprc

Теперь вам нужно скопировать и вставить следующий код в gedit (файл, созданный с помощью указанной выше команды)

defaults
tls on
tls_starttls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt

account default
host smtp.gmail.com
port 587
auth on
user [email protected]
password MY_GMAIL_PASSSWORD
from [email protected]
logfile /var/log/msmtp.log

Не забудьте заменить MY_GMAIL_ID своим «идентификатором Gmail» и MY_GMAIL_PASSSWORD своим «паролем Gmail» в над строками кода.

Теперь создайте msmtp.log как

~$ sudo touch /var/log/msmtp.log

Вы должны сделать этот файл доступным для чтения всем, у кого есть

~$ sudo chmod 0644 /etc/msmtprc

Теперь включите файл журнала sendmail как доступный для записи с помощью

~$ sudo chmod 0777 /var/log/msmtp.log

Ваша конфигурация для SMTP Gmail теперь готова. Теперь отправьте одно тестовое письмо как

~$ echo -e "Subject: Test Mail\r\n\r\nThis is my first test email." |msmtp --debug --from=default -t [email protected]

Пожалуйста, проверьте свой почтовый ящик Gmail.


Теперь, если вы хотите отправить электронное письмо с помощью php с локального хоста, следуйте инструкциям ниже: -

Откройте и отредактируйте файл php.ini

~$ sudo gedit /etc/php/7.0/apache2/php.ini

Вы должны указать sendmail_path в вашем файле php.ini.

Проверьте свой SMTP-путь с помощью

~$ which msmtp 

и вы получите /usr/bin/msmtp вот так.

Найдите sendmail_path в php.ini и отредактируйте, как показано ниже

; For Unix only.  You may supply arguments as well (default: "sendmail -t -i").
; http://php.net/sendmail-path
sendmail_path = /usr/bin/msmtp -t

Пожалуйста, внимательно проверьте 3-ю строку, нет точки с запятой перед sendmail_path.

Теперь сохранитесь и выйдите из gedit. Пришло время перезапустить ваш apache

~$ sudo /etc/init.d/apache2 restart

Теперь создайте один файл php с функцией почты из http://in2.php.net/manual/en/function.mail.php.

Тестируйте и наслаждайтесь !!

person Vikas Dwivedi    schedule 16.07.2017
comment
Если вы настраиваете это для своего собственного домена, который использует Gmail для электронной почты, вам необходимо включить доступ из менее безопасных приложений. Войдите на свой admin.google.com, в безопасности разрешите пользователям управлять настройками своих небезопасных приложений. На сайте accounts.google.com для пользователя, от которого вы хотите отправлять электронные письма, включите менее безопасные приложения. - person mate.gvo; 19.02.2019

В этой статье объясняется, как именно делать то, что вы хотите:

https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/

person catbadger    schedule 19.07.2016