Я успешно настроил конфигурацию системы для отправки электронных писем с использованием msmtp. Ниже приведена конфигурация (находится в / etc / msmtprc ).
account default
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp
# gmail
host smtp.gmail.com
port 587
from <account>@gmail.com
user <account>
password <password>
# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL
Я хотел использовать libsecret, чтобы пароль не отображался, поэтому я сделал следующее
secret-tool store --label=msmtp host smtp.gmail.com service smtp user <account>
Я подтвердил, что пароль был сохранен набрав:
secret-tool lookup host smtp.gmail.com
Затем я изменил / etc / msmtprc следующим образом:
account default
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp
# gmail
host smtp.gmail.com
port 587
from <account>@gmail.com
user <account>
# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL
Это не работает.
Если я сделаю дамп / var / log / msmtp , я получу следующее:
12 ноября, 14:36:30 host = smtp.gmail.com tls = on auth = on user = (hidden) recipients = smtpstatus = 535 smtpmsg = '535-5.7.8 Имя пользователя и пароль не приняты. Подробнее см. На странице \ n535 5.7.8 https://support.google.com/mail/?p=BadCredentials n10sm6743893wrv.77 - gsmtp 'errormsg =' ошибка аутентификации (метод PLAIN) 'exitcode = EX_NOPERM
Что я делаю неправильно?
Спасибо
В файле /etc/msmtprc я заменил password на passwordeval, указав это на команду libsecret для извлечения пароля.
account default
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp
# gmail
host smtp.gmail.com
port 587
from <account>@gmail.com
user <account>
passwordeval "secret-tool lookup host smtp.gmail.com"
# Syslog logging with facility LOG_MAIL instead of the default LOG_USER
syslog LOG_MAIL