<system.net> <mailSettings> <!--<smtp from="username@gmail.com" deliveryMethod ="Network"> <network host="smtp.gmail.com" password="password" port="587" userName="username" />--> <smtp from="username@163.com" deliveryMethod ="Network"> <network host ="smtp.163.com" password ="password" port ="25" userName ="username" defaultCredentials="false"/> </smtp> </mailSettings> </system.net> 1.使用gmail邮箱时,要求EnableSSL=true,但在web.config文件中不知怎么设置.解决办法:http://blogs.msdn.com/vikas/archive/2008/04/29/bug-asp-net-2-0-passwordrecovery-web-control-cannot-send-emails-to-ssl-enabled-smtp-servers.aspx The below code snippet can do the job.. protected void PasswordRecovery1_SendingMail(object sender, MailMessageEventArgs e) { System.Net.Mail.SmtpClient smtpSender = new System.Net.Mail.SmtpClient("mail.google.com", 587); smtpSender.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network; smtpSender.Credentials = new System.Net.NetworkCredential("username@gmail.com", "password"); smtpSender.EnableSsl = true; smtpSender.Send(e.Message); e.Cancel = true; } 2.使用163邮箱时,设置defaultCredentials属性,默认为false,如果设置为true,会出现:"不允许使用邮箱名称。 服务器响应为: authentication is required,smtp10,DsCowLA7bCymZa9JY1bUCQ--.27234S2 1236231608"的错误.