用CDO发送邮件,如果用内部邮件服务器,发送成功,对方收不到,如果用外部邮件服务器,就与服务器的传输连接失败。

anantnt203120 2007-04-17 10:55:46
CDO.Message oMsg = new CDO.Message();
//oMsg.From = FromTextBox.Text ;
oMsg.To = "neil.zhang@corp.elong.com";
oMsg.Subject = "test";
oMsg.HTMLBody = "TEST";
oMsg.CC = "";
oMsg.BCC = "";
string UserName;
string emailFrom;
string Password = "*******";

UserName = "";
emailFrom = "";
oMsg.From = emailFrom;

CDO.IConfiguration iConfg;
ADODB.Fields oFields;
iConfg = oMsg.Configuration;
oFields = iConfg.Fields;

oFields["http://schemas.microsoft.com/cdo/configuration/sendusing"].Value = 2;
oFields["http://schemas.microsoft.com/cdo/configuration/sendemailaddress"].Value = emailFrom;
oFields["http://schemas.microsoft.com/cdo/configuration/smtpuserreplyemailaddress"].Value = emailFrom;
oFields["http://schemas.microsoft.com/cdo/configuration/smtpaccountname"].Value = UserName;
oFields["http://schemas.microsoft.com/cdo/configuration/sendusername"].Value = UserName;
oFields["http://schemas.microsoft.com/cdo/configuration/sendpassword"].Value = Password;
oFields["http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"].Value = 1;
oFields["http://schemas.microsoft.com/cdo/configuration/smtpserver"].Value = "smtp.163.com"; //"127.0.0.1"

oFields.Update();

...全文
709 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
LoveCleverDog 2007-04-18
  • 打赏
  • 举报
回复
帮顶
FantasyFreed 2007-04-18
  • 打赏
  • 举报
回复
05的例子
try
{
System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();
mail.To.Add("要发送的邮箱@163.com");
mail.From = new System.Net.Mail.MailAddress("xxx@163.com", "题目", System.Text.Encoding.UTF8);
mail.Subject = "题目";
mail.SubjectEncoding = System.Text.Encoding.UTF8;
mail.BodyEncoding = System.Text.Encoding.UTF8;
mail.IsBodyHtml = true;
mail.Priority = System.Net.Mail.MailPriority.High;


System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
// client.Host = "smtp.gmail.com";如果你邮箱是gmail的,用这个
client.Host = "smtp.163.com"; 如果你邮箱是163的,用这个
client.Port = 587;
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential("你的邮箱", "你邮箱的密码");
client.Send(mail);
mail.Dispose();
client = null;
}
catch
{
Response.Write("error");
GC.Collect();
return;
}

Response.Write("true");
FantasyFreed 2007-04-17
  • 打赏
  • 举报
回复
如果用03有些邮箱是收不到。写发送email最好用05
FantasyFreed 2007-04-17
  • 打赏
  • 举报
回复
如果是03最好用jmail组建,如果是05用Net.Mail类
anantnt203120 2007-04-17
  • 打赏
  • 举报
回复
晕菜 ,帮顶
wyhao 2007-04-17
  • 打赏
  • 举报
回复
一样的问题
帮顶
江城老温 2007-04-17
  • 打赏
  • 举报
回复
不会做这个。帮顶。
anantnt203120 2007-04-17
  • 打赏
  • 举报
回复
我的程序是这样的,这个问题已经困扰我2天了。

我在公司用本地ip或127.0.0.1做smtpserver,给公司发邮件,就作为垃圾邮件处理,给163发就接受不到。

用外部带验证的邮件服务器发,就报错“ 与服务器的传输连接失败。”


查了一些,说是需要 配置 ms 地址。
怎么做?

111,094

社区成员

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

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

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