用SmtpClient发邮件无异常,但实际没发送成功,请帮找原因!

funstar888 2009-04-01 03:55:26
代码,如下,可用的邮件地址及密码在FOXMAIL试过没问题,本人一直是jmail,没用过.net2.0的smtpclient,请有经验的指点!谢谢!



运行显示异常发送成功,但实际没有发送,不知为什么,环境为windows2003 server+Framework2.0



using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Mail;
using System.Xml;
namespace xmas
{
class Program
{
static void Main(string[] args)
{

try
{

SmtpClient smtpClient = new SmtpClient();
MailMessage mailMessage = new MailMessage();
MailAddress fromMailAddress = new MailAddress("zhangsan@163.com", "张三");
smtpClient.Host = "smtp.163.com";
smtpClient.EnableSsl = false;//true;
smtpClient.Port = 25;
smtpClient.UseDefaultCredentials = true;
smtpClient.Credentials = new System.Net.NetworkCredential("zhangsan", "password");
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
mailMessage.From = fromMailAddress;
mailMessage.To.Add("zhangsan@163.com");
mailMessage.Subject = "test";
mailMessage.IsBodyHtml = true;
mailMessage.Body = "testbody";
smtpClient.Send(mailMessage);
mailMessage.To.Clear();
Console.WriteLine("Mail is sent to {0} sucessfully.", "zhangsan");
System.Threading.Thread.Sleep(600);
}
catch (Exception ex)
{
Console.WriteLine("{0}", ex.Message);
Console.ReadLine();
}

}
}
}
...全文
595 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
thinkc 2009-06-18
  • 打赏
  • 举报
回复
///注意如果发件人地址是abc@def.com,则用户名是abc而不是abc@def.com
关键是这一句
企业邮箱,大多数都是abc
商业邮箱,大多数都是abc@def.com
funstar888 2009-04-02
  • 打赏
  • 举报
回复
麻烦高人请出来指点!
liuhengwinner 2009-04-02
  • 打赏
  • 举报
回复
163的应该是不行的,sina的年前用过可以。你看邮箱的边上给你写出 SMTP的都是允许用的,不写的一般都不让用!
liuhengwinner 2009-04-02
  • 打赏
  • 举报
回复
不应该呀,你换这个代码试试

public struct MailItem
{
public string To;
public string From;
public string Subject;
public string body;
public string userName;
public string password;
public string smtpHost;
}

public class SendMail
{
public SendMail()
{
}
public void Send(MailItem aMailItem)
{
MailAddress from = new MailAddress(aMailItem.From);
MailAddress to = new MailAddress(aMailItem.To);
MailMessage message = new MailMessage(from, to);
message.Subject = aMailItem.Subject;
message.IsBodyHtml = true;
message.Body = aMailItem.body;
SmtpClient client = new SmtpClient(aMailItem.smtpHost);
//设置发送邮件身份验证方式
//注意如果发件人地址是abc@def.com,则用户名是abc而不是abc@def.com
client.Credentials = new NetworkCredential(aMailItem.userName, aMailItem.password);
client.Send(message);
}
}
funstar888 2009-04-02
  • 打赏
  • 举报
回复
换过,包括163,QQ,sina的都试过了,都没错,就是收不到邮件!
erlzj 2009-04-02
  • 打赏
  • 举报
回复
换一个邮箱试试看呢.....
funstar888 2009-04-01
  • 打赏
  • 举报
回复
我也正郁闷呢,瑞星\防火墙都关掉还是不行!也不报异常没法找错
cja03 2009-04-01
  • 打赏
  • 举报
回复
晕,我就是用这个发的。
funstar888 2009-04-01
  • 打赏
  • 举报
回复
To cja03:先谢谢你,但你的程序仍然不能发送! 运行显示无异常发送成功,但实际没有发送
cja03 2009-04-01
  • 打赏
  • 举报
回复
MailAddress from = new MailAddress("发送方地址");
MailAddress to = new MailAddress("接受方地址");
MailMessage mail = new MailMessage(from, to);
mail.Body = text;
mail.BodyEncoding = Encoding.UTF8;
mail.Subject = "主题";
mail.SubjectEncoding = Encoding.UTF8;
SmtpClient client = new SmtpClient("smtp.126.com");
client.UseDefaultCredentials = true;
NetworkCredential credential = new NetworkCredential("用户名", "密码");
client.Credentials = credential;

client.Send(mail);

111,126

社区成员

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

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

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