我正在尝试使用CDO发送电子邮件。我想要将设置更改为始终从具有特定用户,传递和来自的特定smtp服务器发送。但是,当我尝试更改配置时,我收到数据只读的错误。你如何改变消息的配置?
Message msg = new Message();
IConfiguration config = msg.Configuration;
config.Fields["smtpserver"] = "SERVER";
msg.Subject = "TEST";
msg.From = "FROM@FROM.com";
msg.To = "TO@TO.com";
msg.TextBody = "TESTING";
msg.Send();
我尝试使用System.Net.Mail
,但这似乎是阻止了防火墙。我收到了异常消息Unable to connect to the remote server : No connection could be made because the target machine actively refused it {IP}:67
MailMessage msg = new MailMessage();
msg.Subject = "TESTING";
msg.From = new MailAddress("MYMAIL@MYMAIL.org");
msg.To.Add(new System.Net.Mail.MailAddress("TOMAIL@TOMAIL.org"));
msg.Body = "dubbly doo";
SmtpClient client = new SmtpClient();
client.Host = "HOST";
client.Port = 67;
client.EnableSsl = true;
client.Credentials = new NetworkCredential("USERNAME", "PASSWORD", "DOMAIN");
client.DeliveryMethod = SmtpDeliveryMethod.Network;
try
{
client.Send(msg);
}
catch(SmtpException e)
{
Console.Write(e.InnerException.Message+":"+e.InnerException.InnerException.Message);
Console.ReadLine();
}
答案 0 :(得分:1)
是否要求使用CDO?您已经在使用C#,因此我建议您将CDO代码移植到System.Net.Mail
。
http://msdn.microsoft.com/en-us/library/dk1fb84h.aspx
编辑:
由于您在评论中发现System.Net.Mail
存在配置问题,我会在您逐步浏览CDO代码时使用一些SysInternals工具(特别是TcpView)来监控您的连接。这样,您就可以看到代码用于连接的IP和端口。
然后使用该信息,您应该能够使用正确的设置配置System.Net.Mail
代码。