PHP + Ubuntu Отправить письмо с помощью формы gmail localhost

Я искал несколько сообщений об этом, но не повезло. Все используют postfix. Но когда я прочитал текст 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..!

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

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

https://askubuntu.com/info/314664/sending-php-mail-from-localhost https://askubuntu.com/info/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/

Ответ 1

Прошу выполнить следующие шаги для отправки почты с 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 id" и 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

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

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

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


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

Откройте и отредактируйте 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.

Испытайте и наслаждайтесь!