【问题标题】:How to attach a link in the setBody of gomail?如何在gomail的setBody中附加一个链接?
【发布时间】:2022-01-26 16:43:15
【问题描述】:

在这段代码中,我试图将value[2] 设为href 链接,这样如果有人点击令牌,它将被重定向到某个页面,但我不知道该怎么做。我搜索了解决方案,但没有找到。

func SendEmail(value [3]string) {
    mail := gomail.NewMessage()
    myEmail := middleware.LoadEnvVariable("EMAIL")
    myPassword := middleware.LoadEnvVariable("APP_PASSWORD")
    mail.SetHeader("From", myEmail)
    mail.SetHeader("To", value[0])
    mail.SetHeader("Reply-To", myEmail)
    mail.SetHeader("Subject", value[1])
    mail.SetBody("text/html", "<href='localhost:4000'>"+value[2]+"</href>")

    a := gomail.NewDialer("smtp.gmail.com", 587, myEmail, myPassword)
    if err := a.DialAndSend(mail); err != nil {
        log.Fatal(err)
    }
}

【问题讨论】:

  • 有人回答我的问题吗?

标签: html go href


【解决方案1】:

在the gomail docs之后,尝试使用&lt;a&gt;标签:

mail.SetBody("text/html", "<a href=\"" + value[2] + "\">some text</a>")

【讨论】:

  • 我做到了,但我在电子邮件中收到的值 [2] 或令牌没有链接且不可点击。这只是一个简单的文本。
  • 尝试使用双引号而不是单引号 (&lt;a href=\"localhost:4000\"&gt;)
  • 使用&lt;a&gt; 标签。不是&lt;href&gt; 标签。 ? 所以应该是mail.SetBody("text/html", "&lt;a href=\"http://localhost:4000\"&gt;"+value[2]+"&lt;/a&gt;")
  • FWIW,使用原始字符串文字(由反引号分隔的文字)不允许使用反斜杠转义双引号)。
  • @hisam 谢谢你告诉我正确的方法!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多