解决了2.0发送邮件问题,原来是发送方式问题
msdn上查到这个SmtpDeliveryMethod,邮件发送方式

恍然大悟,将SmtpDeliveryMethod指定为PickupDirectoryFromIis,大概是诺顿不允许直连远端smtp吧,先改成由本地IIS里的Smtp来做中转,问题解决了,但是这需要本地安装IIS,SMTP,如果没有安装怎么办?真的要指定SpecifiedPickupDirectory么,我没有试过,有机会再试试看.
1
public 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
oMsg.To.Add(new System.Net.Mail.MailAddress("leo@tastysoft.net", "leo"));
10
// Set the content
11
oMsg.Subject = "My First .NET email";
12
oMsg.Body = "Test body - .NET Rocks!";
13
oMsg.IsBodyHtml = true;
14
System.Net.Mail.SmtpClient oSmtp = new System.Net.Mail.SmtpClient("smtp.126.com");
15
//You can choose several delivery methods.
16
//Email is copied to the pickup directory used by a local Internet Information
17
// Services (IIS) for delivery. oSmtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.PickupDirectoryFromIis;
18
//oSmtp.PickupDirectoryLocation
19
//oSmtp.Timeout = 5 * 60 * 1000;
20
//Some SMTP server will require that you first
21
//authenticate against the server.
22
NetworkCredential oCredential = new NetworkCredential("upzone", "123456");
23
oSmtp.UseDefaultCredentials = false;
24
oSmtp.Credentials = oCredential;
25
//Let's send it already
26
oSmtp.SendCompleted += new System.Net.Mail.SendCompletedEventHandler(oSmtp_SendCompleted);
27
oSmtp.SendAsync(oMsg,"OK");
28
29
}
30
31
void oSmtp_SendCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e)
32
{
33
System.Diagnostics.Debug.WriteLine("[smtp]" + e.UserState.ToString());
34
//这里发送成功得到SendAsync里的参数"OK"
35
}

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35
