System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient();
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); msg.Subject = "你的最新南北湖登录帐户";//标题
msg.From = new System.Net.Mail.MailAddress("[email protected]");//发送人
msg.To.Add("[email protected]");//接收人
msg.IsBodyHtml = true;
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.Body = "123";//内容
smtp.Host ="129.1.1.197";//IP或主机名
smtp.EnableSsl = false;//是否加密
smtp.Port = 25;//端口
smtp.Credentials = new System.Net.NetworkCredential("huanxiang.feixiang", "13962553242");//发送通验证
smtp.Send(msg);//发送
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(); msg.Subject = "你的最新南北湖登录帐户";//标题
msg.From = new System.Net.Mail.MailAddress("[email protected]");//发送人
msg.To.Add("[email protected]");//接收人
msg.IsBodyHtml = true;
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.Body = "123";//内容
smtp.Host ="129.1.1.197";//IP或主机名
smtp.EnableSsl = false;//是否加密
smtp.Port = 25;//端口
smtp.Credentials = new System.Net.NetworkCredential("huanxiang.feixiang", "13962553242");//发送通验证
smtp.Send(msg);//发送
这句应该是有问题,用户名应该是email格式,不是这个格式吧,验证不通过
{
//在出现未处理的错误时运行的代码
if (HttpContext.Current.Server.GetLastError() != null)
{
Exception myException = HttpContext.Current.Server.GetLastError().GetBaseException();
string mailSubject = "Error in page " + Request.Url.ToString();
string message = string.Empty;
message += "<strong>Message</strong><br />" + myException.Message + "<br />";
message += "<strong>StackTrace</strong><br />" + myException.StackTrace + "<br />";
message += "<strong>Query String</strong><br />" + Request.QueryString.ToString() + "<br />";
MailMessage myMessage = new MailMessage();
myMessage.Subject = mailSubject;
myMessage.Body = message;
myMessage.From = new MailAddress("[email protected]");
myMessage.To.Add(new MailAddress("[email protected]"));
myMessage.IsBodyHtml = true;
SmtpClient mySmtpClient = new SmtpClient("smtp.163.com");
mySmtpClient.UseDefaultCredentials = false;
mySmtpClient.Credentials = new System.Net.NetworkCredential("[email protected]", "********");
mySmtpClient.Send(myMessage);
}
}
这是我之前写的一点发邮件的代码,自己比对比对吧,我也不是很会这东西。
smtp.Credentials = new System.Net.NetworkCredential("huanxiang.feixiang", "13962553242")这个可能有问题,前面是账号,后面是密码。huanxiang.feixiang连@都没有……
LZ换成原来的System.Web.Mail,虽然提示过时了,但是使用起来没关系了。
MailAddress to = new MailAddress("[email protected]");
MailMessage message = new MailMessage(from, to);
message.Subject = "xxx";
message.Body = "xxxx";
SmtpClient client = new SmtpClient("smtp.163.com");
client.Credentials = CredentialCache.DefaultNetworkCredentials;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.Port = 25;
client.Credentials = new System.Net.NetworkCredential("用户名", "密码");
try
{
client.Send(message);
Console.WriteLine("发送成功!");
}
catch (Exception ex)
{
Console.WriteLine("发送失败"+ex.ToString());
} Console.Read();
}
我自己测试过了
可以用
你要去163邮箱里的设置/客户端设置/设置POP3/SMTP/IMAP
开启POP3/SMTP服务
换个sina的试下
//一:用自己的服务器作为邮件服务器时:
//如出现:邮箱不可用。 服务器响应为: 5.7.1 Unable to relay for ***@gmail.com
//解决办法如下:在IIS中,右击“默认SMTP虚拟服务器”,选择“属性”,切换到“访问”页,点击“中继”按钮,在弹出框中选择“仅以下列表除外”,确定。
//二:用其它的邮件服务器发送,经测试大多数免费邮箱都不提供SMTP服务,用qq邮箱的就可以,方法:进入qq邮箱-->设置-->帐户-->开通POP3/IMAP/SMTP服务,即可用smtp.qq.com作为邮件服务器了,可用它来发送邮件using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net.Mail;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ } public void SendSMTPEMail(string strSmtpServer, string strFrom, string strFromPass, string strto, string strSubject, string strBody)
{
System.Net.Mail.SmtpClient client = new SmtpClient(strSmtpServer);
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(strFrom, strFromPass);
client.DeliveryMethod = SmtpDeliveryMethod.Network;
System.Net.Mail.MailMessage message = new MailMessage(strFrom, strto, strSubject, strBody);
message.BodyEncoding = System.Text.Encoding.UTF8;
message.IsBodyHtml = true;
client.Send(message);
}
//第一个参数是邮箱服务器
//第二个参数发件人的帐号
//第三个参数发件人密码
//第四个参数收件人帐号
//第五个参数主题
//第六个参数内容.
protected void Button1_Click(object sender, EventArgs e)
{//发送邮件
try
{
//SendSMTPEMail("nz.oicp.net", "[email protected]", "123", "[email protected]", "123", "用asp.net发送邮件,用自己的邮件服务器,测试成功");
SendSMTPEMail("smtp.qq.com", "[email protected]", "123xxxxxxx", "[email protected]", "123", "用asp.net发送邮件,用qq的smtp.qq.com服务器,测试成功"); }
catch (Exception er)
{
Label1.Text = er.Message;
}
}
}
好像是因为
smtp.UseDefaultCredentials;的关系,默认true就忽略掉了。。
不允许使用邮箱名称。 服务器响应为: authentication is required,smtp2,DNGowKBbFLBk4W5LAO8cDQ--.34146S2 1265557860