Как установить и настроить MSMTP на OSX?
Следуйте инструкциям на ArchLinux для установки и настройки msmtp
не работает. Файл /etc/ssl/certs/ca-certificates.crt
или что-то вроде этого отсутствует, и пытается использовать msmtp
отправка почты приведет к ошибке сертификата.
Что такое альтернативная конфигурация для OSX High Sierra, чтобы msmtp
можно использовать для отправки почты как в учебнике?
Примечание: я ответил на этот вопрос для себя некоторое время назад и решил, что он полезен и стоит поделиться, поэтому я создал этот вопрос и ответ. Было бы неплохо, если бы кто-то с большим знанием сертификатов и отпечатков пальцев мог предоставить более качественный ответ с более подробной и справочной информацией, например, о разнице между использованием сертификата или отпечатка пальца.
2 ответа
Вы можете использовать tls_fingerprint
поле в ~/.msmtprc
вместо tls_trust_file
, Чтобы сгенерировать значение поля для tls_fingerprint
Вы можете запустить команду
msmtp --serverinfo --tls --tls-certcheck=off --host=smtp.gmail.com --port=587 | egrep -o "([0-9A-Za-z]{2}:){31}[0-9A-Za-z]{2}"
tls_fingerprint
а также tls_trust_file
являются взаимоисключающими, поэтому не пытайтесь использовать оба, или msmtp
будет иметь ошибку конфигурации.
Вот скрипт, который вы можете запустить, чтобы установить и настроить msmtp
для использования с gmail
аккаунт на любом Ubuntu 18
или же Mac OSX High Sierra
,
Альтернативный метод, который работает для меня и позволяет избежать проблемы с истечением срока действия tls_fingerprint.
Используйте MacPorts для установки пакета CA Curl:
sudo port install curl-ca-bundle
Найдите комплект:
port contents curl-ca-bundle
Port curl-ca-bundle contains:
/opt/local/etc/openssl/cert.pem
/opt/local/share/curl/curl-ca-bundle.crt
Добавьте следующую строку в .msmptrc
tls_trust_file /opt/local/share/curl/curl-ca-bundle.crt
Оно работает:
Hatchet:~ me$ mail me@mac.com
Subject: Hi Mike
done
.
EOT
Нет ошибки. Из файла журнала:
exitcode=EX_OK