gnutlsと追加の引数を使用してsmtp経由でemacs24を使用してメールを送信する

クリス

posteoメールアカウントでemacs24からメールを送信するのにかなり奇妙な問題がありますが、Gmailとgmxではすべてがうまく機能しているようです。これは私の現在の.emacs構成の関連部分です(常に同じ結果で100万回並べ替えたように感じます):

(require 'smtpmail)
(require 'starttls)

(setq message-send-mail-function 'smtpmail-send-it)
(setq tls-program '("gnutls-cli --priority NORMAL:%COMPAT -p %p %h"))
(setq starttls-gnutls-program "gnutls-cli --priority NORMAL:%COMPAT")
(setq starttls-use-gnutls t)
(setq smtpmail-stream-type 'starttls)
(setq smtpmail-smtp-server "posteo.de")
(setq smtpmail-debug-info t)
(setq smtpmail-debug-verb t)
(setq smtpmail-smtp-service 587) ;;587(starttls) or 465(tls/ssl) or ?
(setq starttls-extra-arguments '("--priority NORMAL:%COMPAT"))

メッセージバッファの出力は次のとおりです。

Sending via mail...
235 2.7.0 Authentication successful
gnutls.c: [0] (Emacs) fatal error: A TLS fatal alert has been received.
gnutls.c: [0] (Emacs) Received alert:  Bad record MAC
smtpmail-send-command: Process smtpmail not running

そして、posteo.deバッファへのSMTPの私のトレースでは

220 mail.posteo.de ESMTP Postfix
250-mail.posteo.de
250-PIPELINING
250-SIZE 76800000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
220 2.0.0 Ready to start TLS
250-mail.posteo.de
250-PIPELINING
250-SIZE 76800000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN <omitted>
235 2.7.0 Authentication successful

Process smtpmail connection broken by remote peer
MAIL FROM:<[email protected]> SIZE=281
QUIT

問題は、間違った「パディング」があるように見える証明書のようです(これが何であるかはよくわかりません)http://gnutls.org/manual/html_node/On-Record-Padding.htmlこのサーバーのコマンドラインで同様のエラーを生成する別の方法は、次のとおりです。

$ gnutls-cli --starttls -p 587 posteo.de
Resolving 'posteo.de'...
Connecting to '89.146.220.134:587'...

- Simple Client Mode:

220 mail.posteo.de ESMTP Postfix
*** Starting TLS handshake
*** Fatal error: An unexpected TLS packet was received.
*** Handshake has failed

このエラーは--priority NORMAL:%COMPAT、私が役に立たなかったgnutls引数にを追加するとおそらく修正されます(.emacsを参照)。

したがって、問題は次のとおりです。emacsでこの種のエラーをスローする証明書をどのように処理するのでしょうか。

よろしくお願いします!

クリス

この投稿は私に決定的なヒントを与えました:emacs24でクライアント証明書を使用するようにgnutlsに依頼する方法

emacs24は、starttls-gnutls-programそうgnutls-available-pでない場合変数を無視しているようです。そうでない場合nil、後者の関数を上書きして強制する必要があります。

私の作業構成は次のようになりました。

(require 'smtpmail)
(require 'starttls)

(setq message-send-mail-function 'smtpmail-send-it)
(defun gnutls-available-p ()
  "Function redefined in order not to use built-in GnuTLS support"
  nil)
(setq starttls-gnutls-program "gnutls-cli")
(setq starttls-use-gnutls t)
(setq smtpmail-stream-type 'starttls)
(setq smtpmail-smtp-server "posteo.de")
(setq smtpmail-smtp-service 587) ;;587(starttls) or 465(tls/ssl)
(setq starttls-extra-arguments '("--priority" "NORMAL:%COMPAT"))

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PHPを使用してSMTP経由で電子メールを送信する方法

分類Dev

Postfixを使用してJava経由でメールを送信する

分類Dev

Postfixを使用してJava経由でメールを送信する

分類Dev

ipyvuetifyを使用してOulook経由でメールを送信する

分類Dev

Perlを使用してGSuite経由でメールを送信する

分類Dev

SMTP-libを使用してGmail経由でメールを送信し、BCCとして使用しない方法は?

分類Dev

SMTP設定を使用してtypo38経由でメールを送信する方法は?

分類Dev

MailSoライブラリ(PHP)を使用してSMTP経由で電子メールを送信する方法

分類Dev

変数と外部HTMLテンプレートを使用してPHP経由でHTMLメールを送信する

分類Dev

win32comを使用してOutlook経由でメールを送信し、署名ファイルを追加する

分類Dev

PHPを使用してsendgrid経由でメールを送信しているときに応答を取得する

分類Dev

SMTPとGmailを使用してDjangoでメールを送信する

分類Dev

他のメールサーバーなしで、postfixを使用してGmail経由でメールを送信する

分類Dev

VSTSでPowershellを使用してGMAIL経由でメールを送信する

分類Dev

uuencodeでcatを使用してunix経由でメールを送信する

分類Dev

cronjobは、SMTPを使用してPHPMailer経由で多くの通知メールを送信する正しい方法ですか?

分類Dev

プロキシローカルホストを介してGmailのSMTP経由でメールを送信する

分類Dev

Golangを使用してG Suite経由でメールを送信する

分類Dev

LaravelMailクラスを使用してAWSSES経由でメールを送信する

分類Dev

Google AppEngine経由でJavaMailを使用してメールを送信する方法

分類Dev

Laravel 5.2 - 専用 IP を使用して SparkPost 経由でメールを送信する

分類Dev

PHP経由でsendgridを使用してメールを適切に送信する方法

分類Dev

javamailapiを使用してGmail経由でメールを送信することはできません

分類Dev

'&'を使用してsendgrid経由でテンプレートメールを送信する際の警告

分類Dev

PHPでSMTPを使用してメールを送信する方法

分類Dev

Golangでファイルを添付してSMTP経由で送信するときに本文部分のないメールメッセージ

分類Dev

PHPを使用してajax経由でデータを送信する

分類Dev

Python3を使用してBluetooth経由でメッセージを送信する

分類Dev

GmailのSMTPサーバーとJavaMailを使用してJavaで認証なしでメールを送信する

Related 関連記事

  1. 1

    PHPを使用してSMTP経由で電子メールを送信する方法

  2. 2

    Postfixを使用してJava経由でメールを送信する

  3. 3

    Postfixを使用してJava経由でメールを送信する

  4. 4

    ipyvuetifyを使用してOulook経由でメールを送信する

  5. 5

    Perlを使用してGSuite経由でメールを送信する

  6. 6

    SMTP-libを使用してGmail経由でメールを送信し、BCCとして使用しない方法は?

  7. 7

    SMTP設定を使用してtypo38経由でメールを送信する方法は?

  8. 8

    MailSoライブラリ(PHP)を使用してSMTP経由で電子メールを送信する方法

  9. 9

    変数と外部HTMLテンプレートを使用してPHP経由でHTMLメールを送信する

  10. 10

    win32comを使用してOutlook経由でメールを送信し、署名ファイルを追加する

  11. 11

    PHPを使用してsendgrid経由でメールを送信しているときに応答を取得する

  12. 12

    SMTPとGmailを使用してDjangoでメールを送信する

  13. 13

    他のメールサーバーなしで、postfixを使用してGmail経由でメールを送信する

  14. 14

    VSTSでPowershellを使用してGMAIL経由でメールを送信する

  15. 15

    uuencodeでcatを使用してunix経由でメールを送信する

  16. 16

    cronjobは、SMTPを使用してPHPMailer経由で多くの通知メールを送信する正しい方法ですか?

  17. 17

    プロキシローカルホストを介してGmailのSMTP経由でメールを送信する

  18. 18

    Golangを使用してG Suite経由でメールを送信する

  19. 19

    LaravelMailクラスを使用してAWSSES経由でメールを送信する

  20. 20

    Google AppEngine経由でJavaMailを使用してメールを送信する方法

  21. 21

    Laravel 5.2 - 専用 IP を使用して SparkPost 経由でメールを送信する

  22. 22

    PHP経由でsendgridを使用してメールを適切に送信する方法

  23. 23

    javamailapiを使用してGmail経由でメールを送信することはできません

  24. 24

    '&'を使用してsendgrid経由でテンプレートメールを送信する際の警告

  25. 25

    PHPでSMTPを使用してメールを送信する方法

  26. 26

    Golangでファイルを添付してSMTP経由で送信するときに本文部分のないメールメッセージ

  27. 27

    PHPを使用してajax経由でデータを送信する

  28. 28

    Python3を使用してBluetooth経由でメッセージを送信する

  29. 29

    GmailのSMTPサーバーとJavaMailを使用してJavaで認証なしでメールを送信する

ホットタグ

アーカイブ