当我已经将它作为字符串时,我如何发送电子邮件?

时间:2012-01-23 15:09:52

标签: c# email tcpclient smtpclient

实际上,我正在尝试发送一些模板电子邮件,以便我可以测试一些处理邮箱阅读的组件。

我可以加载Outlook并发送几封电子邮件,但我希望找到一个可以一次读取数千封电子邮件的解决方案,因此我需要批量发送这些模板以测试阅读代码。

当我说批量发送时...我有大约10到15个模板(各种不同),我想将约1,000份副本发送到给定的邮箱。

现在是这个问题......

我可以启动一个SMTP客户端实例并声明一个新的MailMessage对象然后使用SMTP客户端发送...问题是我的电子邮件模板包含自定义标题信息所以它不仅仅是一个问题msg.Body = someText然后设置“收件人”和“收件人”和“主题”字段。

我不想花时间手动解析这些电子邮件,因为标题很长,并且包含很多我稍后会处理的自定义值。

因此,如果我有txteml文件,如何将原始文本发送到我的邮箱,以便我可以执行上述测试?

3 个答案:

答案 0 :(得分: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)有很大帮助

答案 1 :(得分:0)

如果您有一个格式良好的RFC822消息,只需将其原样转移到SMTP事务的DATA阶段。在Unix上,它基本上只是

sendmail -oi -t <file

在某些Linux发行版上,PATH上没有安装sendmail;如果您无法自行提出一些明智的猜测,请尝试/usr/lib/sendmail或咨询您的特定发行版的论坛。

答案 2 :(得分:0)

我的搜索中出现的另一个问题是Email Architect EASendMail。像MailBee.NET一样,它不是免费的,但是我发现specific documentation通过调用SendRawMail方法显示了你要求的功能。该示例在C ++ / CLI中,但同样适用于用C#或VB.NET编写的代码。如果我最终使用试用版来测试它,我会在这里发布我的反馈。