【发布时间】:2022-01-31 20:02:55
【问题描述】:
我正在使用 golang net/smtp 发送邮件
每当我发送到我的 smtp 服务器时,我都需要捕获来自服务器的响应 特别是DSN
例如,我的本地 smtp 服务器在邮件末尾给出“ok queued as”
我需要捕获它并在日志中打印
我该怎么做
package main
import (
"log"
"net/smtp"
)
func sendEmail(msg []byte) {
c, err := smtp.Dial("localhost:25")
if err != nil {
log.Fatal(err)
}
if err := c.Mail("sender@example.org"); err != nil {
log.Fatal(err)
}
if err := c.Rcpt("recipient@example.net"); err != nil {
log.Fatal(err)
}
wc, err := c.Data()
if err != nil {
log.Fatal(err)
}
_, err = wc.Write(msg)
if err != nil {
log.Fatal(err)
}
//How do I get the response here ??
err = wc.Close()
if err != nil {
log.Fatal(err)
}
err = c.Quit()
if err != nil {
log.Fatal(err)
}
}
【问题讨论】:
-
有趣。我找不到任何关于它的信息。但是我想知道底层的conn是否可以被消费。