Ответ 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.
Испытайте и наслаждайтесь!