-1
package main
import (
"gopkg.in/gomail.v2"
)
func main() {
m := gomail.NewMessage()
m.SetHeader("From", "[email protected]")
m.SetHeader("To", "[email protected]")
m.SetHeader("Subject", "Hello!")
m.SetBody("text/plain", "Hello!")
d := gomail.Dialer{Host: "localhost", Port: 587}
if err := d.DialAndSend(m); err != nil {
panic(err)
}
} //main
そして、私はこのエラーを得た:
panic: 454 4.7.0 TLS not available due to local problem
goroutine 1 [running]:
panic(0x244ca0, 0xc820010b20)
/usr/local/Cellar/go/1.6/libexec/src/runtime/panic.go:464 +0x3e6
main.main()
/Users/kaiyin/IdeaProjects/gomail/main.go:19 +0x342
exit status 2
私もTLSおよびSSLを無効にすることを試みた:
d := gomail.Dialer{Host: "localhost", Port: 587, SSL: false, TLSConfig: nil}
しかし、エラーは依然として続きます。だから私はこのような本命生成
Apr 7 14:28:05 kaiyins-mbp postfix/smtpd[64525]: warning: No server certs available. TLS won't be enabled
Apr 7 14:28:05 kaiyins-mbp postfix/smtpd[64525]: connect from localhost[::1]
Apr 7 14:28:05 kaiyins-mbp postfix/smtpd[64525]: lost connection after STARTTLS from localhost[::1]
:
cd /etc/postfix
sudo openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509
を後置の設定を変更し
は、私は(OSX 10.10上のPostfixから)にmail.logに見ていました:
smtpd_enforce_tls = no
smtpd_tls_loglevel = 1
smtpd_use_tls = yes
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
ここで私は差分トン・エラー:http://www.akadia.com/services/ssh_test_certificate.html
そして、私はまだ別のエラーました:
panic: x509: certificate signed by unknown authority
goroutine 1 [running]:
panic(0x26e3c0, 0xc8203e4b80)
/usr/local/Cellar/go/1.6/libexec/src/runtime/panic.go:464 +0x3e6
main.main()
/Users/kaiyin/IdeaProjects/gomail/main.go:19 +0x32f
exit status 2
私はここで指示されるように証明書を生成しようとした私は、サーバーの名前を得たことを想定
panic: x509: certificate is valid for Kaiyin Zhong, not localhost
goroutine 1 [running]:
panic(0x26a7e0, 0xc8203e6800)
/usr/local/Cellar/go/1.6/libexec/src/runtime/panic.go:464 +0x3e6
main.main()
/Users/kaiyin/IdeaProjects/gomail/main.go:19 +0x32f
exit status 2
を間違っていたので、サーバーFQDNをlocalhostに設定してもう一度やり直しました。
Common Name (e.g. server FQDN or YOUR name) []:localhost
は、それから私は戻って、以前のエラーになった:
panic: x509: certificate signed by unknown authority
goroutine 1 [running]:
panic(0x26e3c0, 0xc8203e6800)
/usr/local/Cellar/go/1.6/libexec/src/runtime/panic.go:464 +0x3e6
main.main()
/Users/kaiyin/IdeaProjects/gomail/main.go:19 +0x32f
exit status 2
?メールサーバーのログにアクセスできますか? – pregmatch
pregmatchのコメントをフォローアップすると、maillogへのアクセス権がある場合(そのディレクトリパスはOSによって異なります)、なぜ失敗したのかがわかります。 1つの提案は、あなたの証明書を再生成し、それにパスワードを入れないことです。 –
私の編集内容をご覧ください。 – qed