asp.net邮件发送出错

jiangtianyin 2009-04-16 12:02:41
protected void SendButton_Click(object sender, EventArgs e)
{
MailMessage mail = new MailMessage();
mail.From =new MailAddress(this.geter.Text); //geter是textBox 的ID号,调试是值为249468903@qq.com
mail.To.Add(new MailAddress(this.senter.Text)); //senter是textBox 的ID号调试是值为jiangtian_yin@.com

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
...全文
202 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
zangshulai 2009-04-16
  • 打赏
  • 举报
回复
#region  发送邮件
/// <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文件中配置
CeShenBeiWang 2009-04-16
  • 打赏
  • 举报
回复
给你部分代码你自己看一下,步骤就这几步

MailClass mc = SetMailInfo();
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;
}
果然如此 2009-04-16
  • 打赏
  • 举报
回复
看看邮件服务器是否允许用程序发送,163的新注册邮箱不行,
建议用天涯的邮件服务器试试:mail.tianya.cn

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧