操作系统 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;