返回顶部
首页 > 资讯 > 后端开发 > GO >Golang:如何对电子邮件中的主题标头和正文进行 UTF8 编码?
  • 135
分享到

Golang:如何对电子邮件中的主题标头和正文进行 UTF8 编码?

2024-04-04 23:04:52 135人浏览 泡泡鱼
摘要

积累知识,胜过积蓄金银!毕竟在golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《Golang:如何对电子邮件中的主

积累知识,胜过积蓄金银!毕竟在golang开发的过程中,会遇到各种各样的问题,往往都是一些细节知识点还没有掌握好而导致的,因此基础知识点的积累是很重要的。下面本文《Golang:如何对电子邮件中的主题标头和正文进行 UTF8 编码?》,就带大家讲解一下知识点,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我感兴趣的是如何将包含主题标头和电子邮件正文的字符串(成功 - 以 utf8 格式)传递给此函数:

func sendemail(body string) {
    c, err := smtp.dial(".....")

    if err != nil {
        log.fatal(err)
    }

    defer c.close()
    // set the sender and recipient.
    c.mail(".....")
    c.rcpt(".....")

    // send the email body.
    wc, err := c.data()
    if err != nil {
        log.fatal(err)
    }

    defer wc.close()

    buf := bytes.newbufferstring(body)
    if _, err = buf.writeto(wc); err != nil {
        log.fatal(err)
    }

}

然后我得到了主题标题和电子邮件正文;

body := "Subject: Header string which contains ŽČĆŠĐ in name of user " + name + "!\n" 
body += "Content-Type: text/html; charset=\"UTF-8\"\r\nContent-Transfer-Encoding: base64\r\n" 
body += "String inside email body which also might contain ŽČĆŠĐ" + year_month_day_hour_minute + " - " + end_of_shift

//function call
sendEmail(body)

我认为它应该运行正常......并且它确实正确显示了主题标头字符串(以 utf8 格式),但由于某种未知的原因,电子邮件正文的其余部分以垃圾形式显示。

我尝试更改一些小细节,但原则上没有任何真正改变。

这是我的第一个 go 示例,因此我很容易忽略显而易见的事情。

感谢您对此事的任何想法!


解决方案


尝试: 在您的文本主题中使用此功能

func cSubject(subject string) string {
    //return "=?iso-8859-1?Q?" + subject + "?="
    return "=?utf-8?q?" + subject + "?="
}

终于介绍完啦!小伙伴们,这篇关于《Golang:如何对电子邮件中的主题标头和正文进行 UTF8 编码?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~编程网公众号也会发布Golang相关知识,快来关注吧!

您可能感兴趣的文档:

--结束END--

本文标题: Golang:如何对电子邮件中的主题标头和正文进行 UTF8 编码?

本文链接: https://lsjlt.com/news/596222.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作