在C#中,原本我一直使用MailMessage和SmtpMail来发送邮件。
由于业务部门提了新的需求,要求在发送邮件的同时希望能够收到“回执”。为此我google了好几天。
发现MailMessage只能实现“已读”回执功能,而无法实现“已发送”回执功能。郁闷....
在友人的帮助下改用CDO来实现,MailMessage的底层应该也是这玩意。现把实现的部分代码张贴如下:
/* 说明:在使用CDO之前需要手工导入cdosys.dll组件。*/
using ...
class Email
{
/* to - 接收者邮件地址; from - 发送者邮件地址; subject - 邮件主题;
content - 邮件内容(文本内容); attachments - 附件名称 */
public static void Send(string to, string from, string subject,
string content, string[] attachments)
{
try
{
CDO.Message imsg = new CDO.MessageClass();
CDO.Configuration iconf = imsg.Configuration;
ADODB.Fields flds = iconf.Fields;
flds[@"http://schemas.microsoft.com/cdo/configuration/sendusing"].Value = CDO.CdoSendUsing.cdoSendUsingPort; // 2
fl