日期:2014-05-18  浏览次数:20374 次

asp.net邮件发送问题,急在线等!!谢谢!!
参考代码如下: 
MailMessage mailMessage = new MailMessage(); 
mailMessage.From = from; 
mailMessage.To = to; 
mailMessage.Subject = subject; 
mailMessage.Body = body; 
   
mailMessage.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1 ");  
mailMessage.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/sendusername ", "username ");  
mailMessage.Fields.Add( "http://schemas.microsoft.com/cdo/configuration/sendpassword ", "password ");  
SmtpMail.SmtpServer = "smtp server ";  
   
SmtpMail.Send(mailMessage); 

目前系统需要在局域网内给一个内部邮箱发送邮件提醒,系统在内网无法访问外网,没有做过相关开发,以上是要参考代码,不是很明白以下几个问题:

1.是否需要让客户的邮件系统给我建立一个用户帐号,然后告诉我用户名密码和smtp地址就可以了?

2.mailMessage.Fields.Add相关的三句话,在内网如何改?路径是不变还是找邮件系统放要?


------解决方案--------------------
1:肯定是要有一个帐号的。。不过可以不用密码。我给你贴一个。。
//创建邮件对象
MailMessage msg = new MailMessage();

//目标地址
msg.To = txtMailTo.Text.Trim();

//CC地址
msg.Cc = txtCopyTo.Text.Trim();

//源地址
msg.From = Session["USRMAIL"].ToString();

//主题
msg.Subject = txtTopic.Text.Trim();

//内容
msg.Body = txtContent.Text.Trim() + "\n信息来自:" + Request.UserHostAddress + "[" + strHostName + "]\n";

msg.BodyFormat = MailFormat.Text;

try
{
//邮件服务器:地址在web.config配置文件中
SmtpMail.SmtpServer = System.Configuration.ConfigurationSettings.AppSettings.Get(1);

//SmtpMail.SmtpServer = "smtp.163.com";

//发送邮件
SmtpMail.Send(msg);

//发送成功
ANSServices.common.clsCommonProc.MsgBox(this,"祝贺:发信成功");
}

这是2003的。。我原来写过的。。
------解决方案--------------------
1.不需要,你发送方要对方的干什么
2.改路径