Как установить и настроить 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

Другие вопросы по тегам