Я пытаюсь создать оповещение по электронной почте при входе в систему ssh root, поэтому мне пришлось установить ssmtp и почта утилита.
Затем я настроил ssmtp.conf файл следующим образом:
# Config file for sSMTP sendmail
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
#root=postmaster
#Adding email id to receive system information
root = rootuser@gmail.com
# The place where the mail goes. The actual machine name is required no
# MX records are consulted. Commonly mailhosts are named mail.domain.com
#mailhub=mail
mailhub = smtp.gmail.com:587
AuthUser=dmymail@gmail.com
AuthPass=plaintext password
UseTLS=YES
UseSTARTTLS=YES
# Where will the mail seem to come from?
rewriteDomain=gmail.com
# The full hostname
hostname = mailserver
# Are users allowed to set their own From: address?
# YES - Allow the user to specify their own From: address
# NO - Use the system generated From: address
FromLineOverride=YES
а также следующие ревалификации:
# Format: local_account:outgoing_address:mailhub
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
root:rootuser@gmail.com:smtp.gmail.com:25
и я получаю эту ошибку:
send-mail: Authorization failed (534 5.7.14 https://support.google.com/mail/bin/answer.py?answer=78754 ni5sm3908366pbc.83 - gsmtp)
Can't send mail: sendmail process failed with error code 1
но это не сработало. Пожалуйста, помогите мне разобраться в этом
Чтобы устранить эту проблему, может потребоваться несколько шагов.
Сделайте шаг, упомянутый ранее. Войдите в свою учетную запись электронной почты Google и перейдите по этой ссылке: https://www.google.com/settings/security/lesssecureapps и установите для параметра "Доступ для менее безопасных приложений" значение ВКЛ. Проверьте, решена ли ваша проблема. Если проблема не решена, как это было не для меня, перейдите к шагу №2.
Перейти к https://support.google.com/accounts/answer/6009563 (Заголовок: «Ошибка неверного пароля»). На этой странице написано: «Существует несколько причин, по которым вы можете увидеть ошибку« Неправильный пароль »(также известную как 534-5.7.14) при входе в Google с помощью сторонних приложений. В некоторых случаях даже при правильном вводе пароля ". На этой странице представлены 4 варианта, которые можно попробовать.
Для меня сработало первое предложение:
На странице, указанной в шаге № 2, было еще три предложения, но я не пробовал их, потому что после перехода по отредактированной ссылке и следования инструкциям все стало работать как надо.
Это сработало для меня.
1) Войдите в свою учетную запись Gmail.
2) Перейти к https://www.google.com/settings/security/lesssecureapps и включите эту функцию.
3) Перейти к https://accounts.google.com/DisplayUnlockCaptcha и нажмите Продолжить.
Затем вы можете подтвердить свой дополнительный адрес электронной почты из своей учетной записи Gmail.
Изменить: в моем случае это помогло написать smtp.gmail.com вместо smtp.gmail.com:587.
У меня была такая же проблема, обязательно посмотрите настройки безопасности своей учетной записи Gmail и включите «Доступ для менее безопасных приложений» на странице www.google.com/settings/security.
тогда он волшебным образом начнет работать.
Чтобы решить эту проблему, вам необходимо:
1) Войдите в свою учетную запись Gmail с помощью веб-браузера.
2) Щелкните эту ссылку, чтобы разрешить приложениям доступ к вашей учетной записи: https://accounts.google.com/b/0/DisplayUnlockCaptcha
3) Нажмите кнопку «Продолжить», чтобы завершить шаг.
4) Теперь попробуйте еще раз отправить электронное письмо из вашего PHP-скрипта. Он должен работать.
Это происходит потому, что Google недавно внес изменение в политику, которое, по их собственным словам, является одним из ряда изменений, направленных на усиление аутентификации электронной почты и прекращение любых практик продуктов Google, нарушающих аутентификацию.
Предлагается множество вариантов, таких как изменение портов для SMTP-сервера, включение параметра «Разрешить менее безопасные приложения» на вкладке «Настройки безопасности» и т. Д.
Одно из эффективных решений - включить двухэтапную аутентификацию Gmail для AuthUser, сгенерировать пароль для конкретного приложения и использовать этот пароль в качестве пароля Gmail при настройке параметра «Отправить почту как». После того, как вы создадите пароль для приложения и будете использовать его в /etc/ssmtp/ssmtp.conf
, в AuthPass=
, вы можете отключить двухэтапную проверку, не отменяя двухэтапную проверку.
Я исправил это, создав новую учетную запись GMail только для отправки почты, активировал двухфазную аутентификацию и сгенерировал пароль приложения.
Работает как часы!
Вы перешли по предоставленной ссылке и прочитали инструкции? Вот как это исправить.
Готов поспорить, вы ввели неправильное имя пользователя или пароль.
Если они действительно верны, убедитесь, что вы используете тот же порт. Выше вы указали 587, а ниже - 25.
Тогда, вероятно, указывать UseTLS
и UseSTARTTLS
. Для порта 587 используйте UseTLS, для порта 25 используйте UseSTARTTLS.
В конце концов, ваше имя хоста, скорее всего, не "почтовый сервер". Используйте полное доменное имя.