C#邮件发送错误

zhang455955528 2010-01-01 03:13:02
private void AddFileBtn_Click(object sender, EventArgs e)
{
openFileDia.InitialDirectory = "C:\\";
openFileDia.Filter = "All Files(*.*)|*.*|HTML Files(*.htm;*.thml)|*.htm|Microsoft Mail Documents (*.msg)|*.msg|Word Documents(*.doc)|*.doc|Excel Files(*.xl*)|*.xl*|Excel Worksheets(*.xls)|*.xls|Excel Charts(*.xlc)|*.xlc|PowerPoint Presentations(*.PPT)|*.ppt|Text Files(*.txt)|*.txt";
openFileDia.FilterIndex = 1;
if (openFileDia.ShowDialog() == DialogResult.OK)
{
if (FileLbx == null)
{
//FileLbx = new ArrayList();
FileLbx.Items.Clear();
}
//FileLbx.Add(new Attachment(openFileDia.FileName));
string[] NameStr = openFileDia.FileName.Split('\\');
System.Array.Reverse(NameStr);
//FileLbx.Add(NameStr[0]);
}
}

private void SenBtbtn_Click(object sender, EventArgs e)
{






if (ResTbx.Text.Trim().Equals("") || SouTbx.Text.Trim().Equals(""))
{
MessageBox.Show("必须输入收件人和发件人的地址。", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
MailMessage newMailMessage = new MailMessage(SouTbx.Text.Trim(), ResTbx.Text.Trim());
string[] CSstr = CsTbx.Text.Split(';');
for (int i = 0; i < CSstr.Length; i++)
{
if (!CSstr[i].Trim().Equals(""))
{
newMailMessage.CC.Add(new MailAddress(CSstr[i]));
}
}
string[] ASstr = AsTbx.Text.Split(';');
for (int i = 0; i < ASstr.Length; i++)
{
if (!ASstr[i].Trim().Equals(""))
{
newMailMessage.CC.Add(new MailAddress(ASstr[i]));
}
}
newMailMessage.Subject = TitleTbx.Text;
newMailMessage.Body = TextTbx.Text;
//if (FileLbx != null)
//{
// for (int i = 0; i < FileLbx.Count; i++)
// {
// newMailMessage.Attachments.Add((Attachment)FileLbx[i]);
// }
//}
try
{
SmtpClient newclient = new SmtpClient("smtp.qq.com");
newclient.UseDefaultCredentials = false;
newclient.Credentials = new System.Net.NetworkCredential("476946808", "zhang455955528");
newclient.DeliveryMethod = SmtpDeliveryMethod.Network;
//SmtpClient.Host = "smtp." + newMailMessage.From.Host;

newclient.Send(newMailMessage);
MessageBox.Show("邮件发送完毕!", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (Exception exp)
{
MessageBox.Show("邮件发送发生错误:" + exp.Message, this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
}

}

为什么邮件老是发不成功啊,这些代码我是从书上看的啊,我老是做不成功啊,请各位帮帮忙啊


...全文
128 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
实现邮件发送的方法很多……如果都不成功:
1。可能是你上网的代理服务器的限制。
2。或者邮箱的问题:比如hotmail的,我记得当时测试的时候也遇到问题,查阅相关资料后说是hotmail在07年以后申请的账号没有办法使用SMTP发送。
还有别的……去网上可以查到,然后分析一下能不能用在这个问题上,好运~
polarissky 2010-01-01
  • 打赏
  • 举报
回复
newclient.Credentials = new System.Net.NetworkCredential("476946808", "zhang455955528");
这地方错了,我用你的代码,自己的QQ发送成功了。该这么写:
newclient.Credentials = new System.Net.NetworkCredential("476946808@qq.com", "zhang455955528"); 

danjiewu 2010-01-01
  • 打赏
  • 举报
回复
什么错误都不说?
wuyq11 2010-01-01
  • 打赏
  • 举报
回复
public void MailSend(string MailFrom,string MailTo,string MailPwd,string Mailtitle,string MailCon)
{
MailMessage MyMail = new MailMessage();
MyMail.From = new MailAddress(MailFrom + "@163.com", "");
MyMail.To.Add(new MailAddress(MailTo + "@163.com"));
MyMail.Subject = Mailtitle;
MyMail.Body = MailCon;
MyMail.IsBodyHtml = false;
SmtpClient smtpclient = new SmtpClient();
smtpclient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpclient.Host = "smtp.163.com";
smtpclient.Credentials = new System.Net.NetworkCredential(MailFrom, MailPwd);
smtpclient.Send(MyMail);
}


jmail.Message Jmail = new jmail.Message();
DateTime t = DateTime.Now;
String Subject = "";
String body = "";
String FromEmail = "";
String ToEmail = "";
Jmail.Charset = "GB2312";
Jmail.ContentType = "text/html";
Jmail.AddRecipient(ToEmail, "", "");
Jmail.From = FromEmail;
Jmail.MailServerUserName = "";
Jmail.MailServerPassWord = "";
Jmail.Subject = Subject;
Jmail.ContentType="text/html";
Jmail.Body = body + t.ToString();
Jmail.Send("smtp.163.com", false);
Jmail.Close();

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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