当我已经有了一封电子邮件字符串时,如何发送电子邮件?

3
有效地说,我正在尝试发送一些模板电子邮件,以便测试处理电子邮箱读取的一些组件。我可以使用Outlook直接发送几个电子邮件,但我正在寻找一个可以一次读取数千封电子邮件的解决方案,因此我需要批量发送这些模板以测试读取代码。当我说批量发送时...我大约有10到15个模板(不同),我想将每个模板的副本发送给指定的邮箱。现在问题来了... 我可以启动一个SMTP客户端实例并声明一个新的MailMessage对象,然后使用SMTP客户端发送它...问题是我的电子邮件模板包含自定义标头信息,因此不能仅仅设置To和From和Subject字段。我不想花时间手动解析这些电子邮件,因为标头非常长,并且包含很多自定义值,稍后我会继续处理它们。因此,如果我有一个txt或eml文件,我该如何将原始文本发送到我的邮箱,以便进行上述测试?

2
您可能想查看https://dev59.com/Q3M_5IYBdhLWcg3wmkeu - Chris Shain
3个回答

2
我知道的最好方法是使用MailBee.NET对象,这些对象并不免费,但你可以下载试用版:http://www.afterlogic.com/mailbee-net/email-components 然后你需要找到类似于这样的东西:
            MailBee.Mime.MailMessage message = new MailMessage();
            message.LoadMessage(filestream);
            MailBee.SmtpMail.Smtp.QuickSend(message);

声明: 我并不在AfterLogic工作,但他们的一些工具对于Elastic Email (http://elasticemail.com)有很大帮助。


是的,有相当多的这些“邮件组件”,我希望自己编写以节省500美元的费用。现在我使用了一个叫做SMTP Express的东西来解决问题,这是由一个叫做QuickSoft的公司提供的。它是我们内部已经拥有的产品,因此没有成本,我所做的就是将原始字符串转储到给定的拾取目录中的任何.eml文件中,然后它就会完成剩下的工作。 - War

0
如果您有一个格式良好的RFC822消息,只需在SMTP事务的数据阶段按原样传输即可。在Unix上,基本上只需要这样做:
sendmail -oi -t <file

在一些Linux发行版中,sendmail未安装在PATH上;如果您自己无法得出几个明智的猜测,请尝试使用/usr/lib/sendmail或咨询您所使用的特定发行版的论坛。

0
在我的搜索中,另一个出现的是由Email Architect开发的EASendMail。像MailBee.NET一样,它不是免费的,但我找到了具体文档,展示了通过调用SendRawMail方法实现你所要求的功能。该示例是用C++/CLI编写的,但同样适用于使用C#或VB.NET编写的代码。如果我最终使用试用版来测试它,我会在这里发布我的反馈意见。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接