【问题标题】:C library for email composition with UTF-8 characters用于使用 UTF-8 字符编写电子邮件的 C 库
【发布时间】:2011-09-28 12:52:02
【问题描述】:

我正在构建一个 C 应用程序,该应用程序必须发送正文中包含 UTF-8(重音)字符的电子邮件。我在 stackoverflow 上找到了 285 个相关帖子,但它们没有解决我的具体问题:

  1. 是否有 C 库(不是特定于 Windows/平台的)来帮助撰写电子邮件,然后通过 SMTP 发送? (我不想只从 C 调用 shell 命令)。我找到了 chilkat 库,但它们看起来势不可挡。

  2. 是否可以将 UTF-8 字符放入纯文本电子邮件中?如果没有,我将如何在正文中发送 UTF-8 字符?

  3. 如果我发送基于 HTML 的电子邮件正文,是否会自动创建纯文本版本(或者这是邮件客户端将电子邮件呈现给收件人的功能)。

谢谢@

【问题讨论】:

  • 关于第2点,你读过joelonsoftware.com/articles/Unicode.html吗?简单地说,“纯文本”没有任何意义,所以是的,您可以在电子邮件中输入 UTF-8 字符。告诉对方你使用的是 UTF-8。

标签: c utf-8 smtp diacritics


【解决方案1】:

你没有提到操作系统。 ftp://ftp.cac.washington.edu/imap/ 的 c-client 库(在此处称为“imap”)具有对邮件进行编码的功能,并且可以在不同的 Unix 风格和 Windows 上工作。尽管版本号显示为 2007,但今年已更新。 tarball 包含一些文档。 ftp://ftp.cac.washington.edu/imap/imap-2007f.tar.gz

【讨论】:

  • 我找到了 U Washington 图书馆,但它看起来很乱(一个记录不充分的函数转储)。希望有更好的东西...谢谢
  • 是的,一团糟。我还没有找到更好的东西。虽然我有一段时间没有主动搜索。
【解决方案2】:

只需将Content-type: text/plain; charset=utf-8Content-transfer-encoding: quoted-printable 放在标头中(对于消息或 MIME 部分,取决于您是否使用多个 MIME 部分),并将 字节流 编码为 UTF- 8 作为引用打印(丑陋的=XX 东西)。无需执行任何 UTF-8 特定操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2019-10-05
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    相关资源
    最近更新 更多