protected void SendButton_Click(object sender, EventArgs e)
{
MailMessage mail = new MailMessage();
mail.From =new MailAddress(this.geter.Text); //geter是textBox 的ID号,调试是值为[email protected]
mail.To.Add(new MailAddress(this.senter.Text)); //senter是textBox 的ID号调试是值为[email protected] mail.Priority = MailPriority.Normal;
mail.Subject = TalkTitle.Text; //talkTile是textBox 的ID号
mail.Body = TalkBody.Text; //TalkBody是textBox 的ID号
SmtpClient server=new SmtpClient();
server.Host = "ms2.hint.net";
server.Send(mail);
}
两个邮箱都是真实地址,并且每个Textbox都有值,但是发不出去,错误信息如下:
“/Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------无法从传输连接中读取数据: net_io_connectionclosed。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.IOException: 无法从传输连接中读取数据: net_io_connectionclosed。源错误:
行 31: SmtpClient server=new SmtpClient();
行 32: server.Host = "ms2.hint.net";
行 33: server.Send(mail);
行 34: }
行 35:
源文件: e:\C#\ASP.net\MingSheng\Web\E-mail.aspx.cs 行: 33
{
MailMessage mail = new MailMessage();
mail.From =new MailAddress(this.geter.Text); //geter是textBox 的ID号,调试是值为[email protected]
mail.To.Add(new MailAddress(this.senter.Text)); //senter是textBox 的ID号调试是值为[email protected] mail.Priority = MailPriority.Normal;
mail.Subject = TalkTitle.Text; //talkTile是textBox 的ID号
mail.Body = TalkBody.Text; //TalkBody是textBox 的ID号
SmtpClient server=new SmtpClient();
server.Host = "ms2.hint.net";
server.Send(mail);
}
两个邮箱都是真实地址,并且每个Textbox都有值,但是发不出去,错误信息如下:
“/Web”应用程序中的服务器错误。
--------------------------------------------------------------------------------无法从传输连接中读取数据: net_io_connectionclosed。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.IO.IOException: 无法从传输连接中读取数据: net_io_connectionclosed。源错误:
行 31: SmtpClient server=new SmtpClient();
行 32: server.Host = "ms2.hint.net";
行 33: server.Send(mail);
行 34: }
行 35:
源文件: e:\C#\ASP.net\MingSheng\Web\E-mail.aspx.cs 行: 33
if (mc == null)
{
return;
}
MailMessage send_mail = new MailMessage();
send_mail.From = new MailAddress(mc.SendMailAdrres, mc.SendMailAddresDiscr);//发件地址
send_mail.ReplyTo = new MailAddress(mc.MailBack, mc.MailBackDiscription);//收个地址 SmtpClient smtp = new SmtpClient(mc.SendSmtp);//发件件smtp
smtp.Credentials = new NetworkCredential(mc.SendMailUser, mc.SendMailPwd);//发件帐号、密码认证 send_mail.Subject = mc.SubjectStr;//标题
string contentTxt = this.Txt_Content.Text.Trim();//正文
send_mail.SubjectEncoding = Encoding.GetEncoding(mc.Endcode);
send_mail.BodyEncoding = Encoding.GetEncoding(mc.Endcode); //html或文本
send_mail.IsBodyHtml = mc.TxtOrHtml;
//优先级
switch (mc.Priority)
{
case 0:
send_mail.Priority = MailPriority.Normal;
break;
case 1:
send_mail.Priority = MailPriority.High;
break;
case 2:
send_mail.Priority = MailPriority.Low;
break;
}
/// <summary>
/// 利用Jmail发送邮件 如果出现失败肯能是防火墙的设置或邮箱服务器错误
/// </summary>
/// <param name="tomail">收件人邮箱 如果是过个收件人以;分割</param>
/// <param name="Title">邮件的主题</param>
/// <param name="Content">邮件内容</param>
public static void SendMail(string tomail, string Title, string Content)
{
try
{
jmail.Message Jmail = new jmail.Message(); //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
//Jmail.Silent=true;
//Jmail创建的日志,前提loging属性设置为true
//Jmail.Logging=true;
//字符集,缺省为"US-ASCII"
Jmail.Charset = "GB2312";
Jmail.Encoding = "GB2312";
//信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
Jmail.ISOEncodeHeaders = false;//是否将信头编码成iso-8859-1字符集
Jmail.ContentType = "text/html";
Jmail.Priority = Convert.ToByte(1);// 优先级
//添加收件人
string SendEmail = tomail;
string fromName = System.Configuration.ConfigurationManager.AppSettings["SendRealName"].ToString();//邮件来自
//多个邮件接受人
if (SendEmail.IndexOf(';') > 0)
{
string[] emailArr = SendEmail.Split(';');
foreach (string email in emailArr)
{
if (email != null && !email.Trim().Equals(""))
{
Jmail.AddRecipient(email, "", "");
}
}
}
else
{
Jmail.AddRecipient(SendEmail, "", "");
}
//邮件来自
Jmail.FromName = fromName;
//发件人邮箱
Jmail.From = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
//发件人邮件用户名
Jmail.MailServerUserName = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
//发件人邮件密码
Jmail.MailServerPassWord = System.Configuration.ConfigurationManager.AppSettings["SendPassword"];
//设置邮件标题
Jmail.Subject = Title;
//邮件内容
Jmail.Body = Content;
//Jmail发送的方法
Jmail.Send(System.Configuration.ConfigurationManager.AppSettings["MailServer"], false);
Jmail.Close(); HttpContext.Current.Response.Write("<script>alert('邮件发送成功');</script>"); }
catch
{
HttpContext.Current.Response.Write("<script>alert('邮件发送失败,请检查');</script>");
}
}
/// <summary>
/// 利用Jmail发送邮件
/// </summary>
/// <param name="SendEmail">收件人邮箱 如果是过个收件人以;分割</param>
/// <param name="Title">邮件的主题</param>
/// <param name="Content">邮件内容</param>
/// <param name="Attach">邮件中的附件以;分割</param>
public static void SendMailWithAttach(string SendEmail, string Title, string Content, string Attach)
{
try
{
jmail.Message Jmail = new jmail.Message(); //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false
//Jmail.Silent=true;
//Jmail创建的日志,前提loging属性设置为true
//Jmail.Logging=true;
//字符集,缺省为"US-ASCII"
Jmail.Charset = "GB2312";
//信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
//Jmail.ContentType="text/html";
//添加收件人
//多个邮件接受人
if (SendEmail.IndexOf(';') > 0)
{
string[] emailArr = SendEmail.Split(';');
foreach (string email in emailArr)
{
if (email != null && !email.Trim().Equals(""))
{
Jmail.AddRecipient(email, "", "");
}
}
}
else
{
Jmail.AddRecipient(SendEmail, "", "");
}
string fromName = System.Configuration.ConfigurationManager.AppSettings["SendRealName"].ToString();
//邮件来自
Jmail.FromName = fromName;
Jmail.From = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
//发件人邮件用户名
Jmail.MailServerUserName = System.Configuration.ConfigurationManager.AppSettings["SendUserName"];
//发件人邮件密码
Jmail.MailServerPassWord = System.Configuration.ConfigurationManager.AppSettings["SendPassword"];
//设置邮件标题
Jmail.Subject = Title;
//邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
//Jmail.AddAttachment( "c:\\test.jpg",true,null);
string[] Attachs = Attach.Split(';');
for (int i = 0; i < Attachs.Length; i++)
{
if (Attachs[i] != "")
{
Jmail.AddAttachment(Attachs[i], true, null);
}
}
//邮件内容
Jmail.Body = Content;
//Jmail发送的方法
Jmail.Send(System.Configuration.ConfigurationManager.AppSettings["MailServer"], false);
Jmail.Close();
HttpContext.Current.Response.Write("<script>alert('邮件发送成功');</script>"); }
catch
{
HttpContext.Current.Response.Write("<script>alert('邮件发送失败,请检查');</script>");
}
}
#endregion发送邮件的程序,发件人的邮箱和密码 服务器 都在web.config文件中配置
建议用天涯的邮件服务器试试:mail.tianya.cn