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..!
Может кто-нибудь сказать мне, как я могу настроить почтовый сервер на локальном хосте, используя SMTP Gmail? Я использую 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/
2 ответа
Пожалуйста, выполните следующие шаги для отправки почты с локального хоста в 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 MY_GMAIL_ID@gmail.com
password MY_GMAIL_PASSSWORD
from MY_GMAIL_ID@gmail.com
logfile /var/log/msmtp.log
Не забудьте заменить MY_GMAIL_ID на " gmail id ", а MY_GMAIL_PASSSWORD - на " gmail password " в приведенных выше строках кода.
Теперь создайте 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 MY_GMAIL_ID@gmail.com
Пожалуйста, проверьте свой почтовый ящик 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.
Делай тесты и наслаждайся!!
Эта статья объясняет, как именно то, что вы хотите:
https://www.howtoforge.com/tutorial/configure-postfix-to-use-gmail-as-a-mail-relay/