【问题标题】:Old sendmail with Perl need to embed attachment带有 Perl 的旧 sendmail 需要嵌入附件
【发布时间】:2014-05-29 16:47:28
【问题描述】:

在有人说我需要使用 MIME::Lite 或其他 pm 之前...我的工作有一组基本的 pm,我无法更改它们...我真的需要在我的系统范围内工作的帮助:

多年来,我们一直在使用此代码向客户发送电子邮件:

open MAIL, "| /usr/lib/sendmail -t";
print MAIL qq[To: $email
From: MyFooFoo\@www.foobar.com
Reply-to: do not reply
Subject: This is the subject

Hello, this is the body of the message

Thank you

];
close MAIL;

现在,他们要求我在电子邮件中嵌入图像...我尝试使用 Unix sendmail - html embed image not working 作为参考,但我无法确定边界/mime 类型...

【问题讨论】:

  • 即使您不能在生产系统中使用模块,您仍然可以通过检查其源代码并了解它如何实现您想要的功能来使用该模块。或者,即使您不想花时间从源头学习,您也可以观察生成的电子邮件并尝试复制它。也许您会受到启发,想出另一种方法来引入更多模块以简化开发过程,例如local::lib

标签: perl embed


【解决方案1】:

您必须将您的邮件构建为具有 multipart/related 的 MIME 消息,然后将其提供给 sendmail。请参阅https://www.rfc-editor.org/rfc/rfc2110,它包含此类邮件的外观以及如何将图像嵌入 HTML 邮件等的示例。您可能需要一种对数据进行 base64 编码的方法,但是您可以使用 MIME::Base64 来实现它,一个外部命令行只需几行工具或自己编写程序(参见 MIME::Base64 的源代码)。

【讨论】:

  • 感谢 Steffen,我试过了,但无法正常工作。我抱怨到安装了 Mime::Lite 包,这让生活变得更轻松。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 2021-07-23
  • 2014-09-16
  • 2016-08-14
  • 2011-10-07
  • 2015-03-25
  • 1970-01-01
  • 2012-03-16
  • 1970-01-01
相关资源
最近更新 更多