奇怪的问题,.Net 2.0发送邮件失败...
.Net 1.1中发送邮件使用System.Web.Mail.而到.Net 2.0中发送邮件建议使用System.Net.Mail,不推荐使用System.Web.Mail,但是原来的还能用,今天将原来1.1发送程序改写成2.0,但是一直是发送失败,一直被诺顿拦截,很奇怪,而且把诺顿Internet Email Auto Protected关闭就能发送出去.原来1.1从来没有诺顿拦截现象.
根据上面的链接查询Symantec Support KB,解释如下:
1 Start Outlook Express.
2 Click the Tools menu, and then click Accounts.
3 In the Internet Accounts list, click the name of the account that you use to send email.
4 Click Properties.
5 Click the Advanced tab.
6 Under Server Timeouts, drag the slider so that the number of minutes increases. The maximum time that you can set it to is 5 minutes.
7 Click OK.
8 Click Close.
晕死,设置发送超时时间为 5 Min
但是将发送TimeOut设为5*60*1000仍然发送失败,搞不懂了
发送不成功,没有办法,只好改回原来1.1的发送程序,等解决了2.0的问题再说了.
根据上面的链接查询Symantec Support KB,解释如下:
1 Start Outlook Express.
2 Click the Tools menu, and then click Accounts.
3 In the Internet Accounts list, click the name of the account that you use to send email.
4 Click Properties.
5 Click the Advanced tab.
6 Under Server Timeouts, drag the slider so that the number of minutes increases. The maximum time that you can set it to is 5 minutes.
7 Click OK.
8 Click Close.
晕死,设置发送超时时间为 5 Min
但是将发送TimeOut设为5*60*1000仍然发送失败,搞不懂了
1public void SendNetSmtpMail2()
2 {
3 System.Net.Mail.MailMessage oMsg = new System.Net.Mail.MailMessage();
4 // Set the message sender
5 oMsg.From = new System.Net.Mail.MailAddress("upzone@126.com", "upzone");
6 // The .To property is a generic collection,
7 // so we can add as many recipients as we like.
8 oMsg.To.Add(new System.Net.Mail.MailAddress("upzone@126.com", "upzone"));
9 // Set the content
10 oMsg.Subject = "My First .NET email";
11 oMsg.Body = "Test body - .NET Rocks!";
12 oMsg.IsBodyHtml = true;
13 System.Net.Mail.SmtpClient oSmtp = new System.Net.Mail.SmtpClient("smtp.126.com");
14 //You can choose several delivery methods.
15 //Here we will use direct network delivery.
16 oSmtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
17 oSmtp.Timeout = 5 * 60 * 1000;
18 //Some SMTP server will require that you first
19 //authenticate against the server.
20 NetworkCredential oCredential = new NetworkCredential("upzone", "123456");
21 oSmtp.UseDefaultCredentials = false;
22 oSmtp.Credentials = oCredential;
23 //Let's send it already
24 oSmtp.Send(oMsg);
25
26 }
2 {
3 System.Net.Mail.MailMessage oMsg = new System.Net.Mail.MailMessage();
4 // Set the message sender
5 oMsg.From = new System.Net.Mail.MailAddress("upzone@126.com", "upzone");
6 // The .To property is a generic collection,
7 // so we can add as many recipients as we like.
8 oMsg.To.Add(new System.Net.Mail.MailAddress("upzone@126.com", "upzone"));
9 // Set the content
10 oMsg.Subject = "My First .NET email";
11 oMsg.Body = "Test body - .NET Rocks!";
12 oMsg.IsBodyHtml = true;
13 System.Net.Mail.SmtpClient oSmtp = new System.Net.Mail.SmtpClient("smtp.126.com");
14 //You can choose several delivery methods.
15 //Here we will use direct network delivery.
16 oSmtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
17 oSmtp.Timeout = 5 * 60 * 1000;
18 //Some SMTP server will require that you first
19 //authenticate against the server.
20 NetworkCredential oCredential = new NetworkCredential("upzone", "123456");
21 oSmtp.UseDefaultCredentials = false;
22 oSmtp.Credentials = oCredential;
23 //Let's send it already
24 oSmtp.Send(oMsg);
25
26 }
发送不成功,没有办法,只好改回原来1.1的发送程序,等解决了2.0的问题再说了.
1 public void SendSmtpMail()
2 {
3 System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage();
4 mail.To = "upzone@126.com";
5 mail.From = "upzone@126.com";
6 mail.Subject = "this is a test email.";
7 mail.Body = "Some text goes here";
8 mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
9 mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "upzone"); //set your username here
10 mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "123456"); //set your password here
11
12 System.Web.Mail.SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here
13 System.Web.Mail.SmtpMail.Send(mail);
14
15 }
2 {
3 System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage();
4 mail.To = "upzone@126.com";
5 mail.From = "upzone@126.com";
6 mail.Subject = "this is a test email.";
7 mail.Body = "Some text goes here";
8 mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
9 mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "upzone"); //set your username here
10 mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "123456"); //set your password here
11
12 System.Web.Mail.SmtpMail.SmtpServer = "smtp.126.com"; //your real server goes here
13 System.Web.Mail.SmtpMail.Send(mail);
14
15 }