当前位置: 代码迷 >> Exchange >> 急@@@100分 求解答 关于发送邮件的有关问题
  详细解决方案

急@@@100分 求解答 关于发送邮件的有关问题

热度:6388   发布时间:2013-02-26 00:00:00.0
急急急~~~@@@100分 求解答 关于发送邮件的问题 在线等
操作系统  windows server 2003 ent  
1.邮件本地发送没有问题在于,邮件服务器是在本地,代码级的邮件发送机制可以直接找到这个邮件服务器的地址,并进行邮件发送.

 2.我尝试把两台机器进行连接,一个A(有邮件服务器的机器)作为邮件服务器,一个B作为发送邮件的客户端,用于安装邮件发送程序.

  3.两台计算机之间是可以用ping命令,ping通的(表示两台机器已经连接上).但是用(net send ip )命令是无法让两台计算机通信.(我不清楚这个问题出在哪里)   我在A端发送信件(邮件服务器本地发送),然后在B端配置OUTLOOK用户,是可以拿到信件的.说明邮件服务器的地址是没有错误的.(但是在配置邮件B端OUTLOOK时报错我无法发送信件,只能接收信件)///问题可能出在这里.
  配置outlook是测试测试帐户设置所报错误是 测试发送邮件失败

  4.当我用B服务器,运行相同的程序.程序完全运行通过,但是A端(邮件服务器端)没有任何反映.

补充说明:邮件服务器和发送邮件程序在同一台机器上面,可以发送接收邮件
         邮件服务器和发送邮件程序不在同一台机器上面,可以接收邮件,但是无法发送邮件.


存在疑问: 发送邮件程序端 是否需要对系统做一些配置 ?

邮件发送测试代码:语言c# 
using System;
using System.Web.Mail;
namespace TestMail
{


/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{

MailMessage Message = new MailMessage();

Message.To = "ning@sbs.net";
Message.From = "ning@sbs.net";
Message.Subject = "testmail";
Message.Body = "test1111";

//注释中用于发送外网
// Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
//          Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "zhao@sbs.net") ;//'发件人邮箱用户名
//            Message.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "tbstd168") ;//'发件人邮箱密码

try
{

SmtpMail.SmtpServer.Insert( 0, "sbs.net");

}
catch(System.Web.HttpException httpex)
{
Console.WriteLine(httpex.Message);
}
//SmtpMail.SmtpServer.Insert( 0, "127.0.0.1 or your mail server name here")

                  

SmtpMail.Send(Message);
Console.WriteLine("ok");
Console.Read();
}  
}
}


在线等~~~~~~谢谢


------最佳解决方案--------------------------------------------------------
private bool SendEmail(string strServerName, string strPortNum, string strUserName, string strPwd, string strMailFrom, string strMailTo, string strSubject, string strTextbody) 

 CDO.Message myMail = new CDO.Message(); 
 gSetBusy(); 
 SendEmail = false; 
 // TODO: NotImplemented statement: ICSharpCode.SharpRefactory.Parser.AST.VB.OnErrorStatement 
 myMail.From = strMailFrom; 
 myMail.To = strMailTo; 
 myMail.Subject = strSubject; 
 myMail.TextBody = strTextbody; 
 myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2; 
 myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strServerName; 
 myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = strPortNum; 
 myMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = strUserName; 
  相关解决方案