当前位置: 首页 > 面试题库 >

Golang使用gomail.v2的多个收件人

阙辰龙
2023-03-14
问题内容

我过去一直通过gomail.v2发送电子邮件的唯一方法是对一个循环中的每个电子邮件使用Send()函数。但是我需要显示其他已发送相同电子邮件的电子邮件地址。

for _, recipient := range os.Args[3:] {
    mail.SetAddressHeader("From", "my@mail.com", "My Name")
    mail.SetHeader("To", recipient)
    mail.SetHeader("Subject", os.Args[2])
    mail.SetBody("text/html", os.Args[1])

    if err := dialer.DialAndSend(mail); err != nil {
        log.Printf("Could not send email to %q: %v", recipient, err)
        panic(err)
    }
}

我发现了类似的东西:

var emails bytes.Buffer

mail.SetAddressHeader("From", "my@mail.com.br", "My Name")
mail.SetHeader("Subject", os.Args[2])
mail.SetBody("text/html", os.Args[1])

for _, recipient := range os.Args[3:] {
    emails.WriteString(recipient + ",")
}

mail.SetHeader("To", emails.String())

if err := dialer.DialAndSend(mail); err != nil {
    log.Printf("Could not send email to %q: %v", buffer, err)
    panic(err)
}

通过仅将电子邮件发送给字符串中的第一个收件人来工作。并且在电子邮件管理器(例如Gmail,Outlook或任何其他其他收件人地址)中显示但未发送。

我应该怎么做呢?


问题答案:

试试看吗?

recipients := os.Args[3:]
addresses := make([]string, len(recipients))
for i, recipient := range recipients {
    addresses[i] = mail.FormatAddress(recipient, "")
}

mail.SetHeader("To", addresses...)

if err := dialer.DialAndSend(mail); err != nil {
    log.Fatal(err)
}


 类似资料:
  • 问题内容: 我有一个Go函数,它返回两个整数值。下面是功能 是否可以将函数直接放入a 并使用以下字符串格式打印两个输出: 在Python中,我可以执行以下操作: 我也可以在Go中做类似的事情吗? 问题答案: 前言: 我在中发布了此实用程序,请参见。 首先,对于您尝试执行的操作,应该使用而不是仅按照前者的预期使用并使用格式字符串。 展望未来,默认情况下不支持此操作,因为从Spec:Calls中引用:

  • 问题内容: 是否可以使用goroutine并行下载和保存文件? 以下是我的代码,可从我的保管箱下载文件: 当我在命令前给download_file函数添加前缀时,它不起作用。 问题答案: 那是因为您的主要goroutine正在退出。您需要添加一个WaitGroup以等待所有goroutines退出。例如,

  • 我应该用Java开发一个基于SMIME应用程序。这些是我需要更多关于SMIME en/de-cryptation的澄清的某些领域。我理解了如何在单个收件人的情况下对消息进行加密和解密。 用于加密消息内容的随机生成的会话密钥。 那么这个随机会话密钥将使用接收方的公钥加密,然后发送SMIME消息。 加密的消息将使用接收方的私钥解密,并检索接收方用于加密消息的会话密钥。 如果存在多个收件人,则 用于加密

  • 我有一个服务器,这将需要发送消息到几个客户机,让客户机知道一些事情需要做。 当我发送消息时,哪个监听器将处理该消息是随机的。 是否可以用Azure Event Hub向多个收件人发送消息?

  • 问题内容: 我有以下文件- 在这种情况下,数组可以具有多个元素。当我通过API执行搜索时,理想情况下,我会传递类似于请求正文中的数组- 我有一个结构来接收和解码此信息- 我还可以对各种对象执行mongodb 操作,并且只有当它们全部匹配时,才返回文档。这里的问题是数组中的元素数量不固定。我需要能够发送 并检索所有匹配的文档(而不仅仅是一个)。 我尝试使用for循环来创建可变大小,具体取决于接收作为

  • 由于我不想多次使用流来单独收集每个属性,也不想使用来收集每个属性,是否有任何方法可以用单个流来获得上述属性。