SMTP C#,System.Net.Sockets.SocketException中的未知主机
我的代码发送此错误,SMTP C#,System.Net.Sockets.SocketException中的未知主机,c#,sockets,smtp,telnet,C#,Sockets,Smtp,Telnet,我的代码发送此错误,System.Net.Sockets.SocketException,因为无法识别主机,无论如何我使用的是localhost。。。我试图通过CMD初始化telnet,实际上端口25正在使用中 错误行: TcpClient SmtpServ = new TcpClient(ServSMTP.Text,25); /// The main entry point for the application. /// </summary> [STAT
System.Net.Sockets.SocketException
,因为无法识别主机,无论如何我使用的是localhost。。。我试图通过CMD初始化telnet,实际上端口25正在使用中
错误行:
TcpClient SmtpServ = new TcpClient(ServSMTP.Text,25);
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void SendBtn_Click(object sender, System.EventArgs e)
{
// change cursor into wait cursor
Cursor cr = Cursor.Current;
Cursor.Current = Cursors.WaitCursor;
// create server SMTP with port 25
TcpClient SmtpServ = new TcpClient(ServSMTP.Text,25);
string Data;
byte[] szData;
string CRLF = "\r\n";
LogList.Items.Clear();
try
{
// initialization
NetworkStream NetStrm = SmtpServ.GetStream();
StreamReader RdStrm= new StreamReader(SmtpServ.GetStream());
LogList.Items.Add(RdStrm.ReadLine());
// say hello to server and send response into log report
Data = "HELLO server " + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
// send sender data
Data = "MAIL FROM: " + "<" + sFrom.Text + ">" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
// send receiver data
Data = "RCPT TO: " + "<" + sTo.Text + ">" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
// send DATA
Data = "DATA " + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
// send content data
Data = "SUBJECT: " + sSubject.Text + CRLF + sMessage.Text + CRLF + "." + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
// quit from server SMTP
Data = "QUIT " + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
// close connection
NetStrm.Close();
RdStrm.Close();
LogList.Items.Add("Close connection");
LogList.Items.Add("Send mail successly..");
// back to normal cursor
Cursor.Current = cr;
}
catch(InvalidOperationException err)
{
LogList.Items.Add("Error: "+ err.ToString());
}
}
}
}
TcpClient SmtpServ=新的TcpClient(servstp.Text,25);
///应用程序的主要入口点。
///
[状态线程]
静态void Main()
{
Application.Run(新Form1());
}
私有void SendBtn_单击(对象发送者,System.EventArgs e)
{
//将游标更改为等待游标
Cursor cr=Cursor.Current;
Cursor.Current=Cursors.WaitCursor;
//使用端口25创建服务器SMTP
TcpClient SmtpServ=新的TcpClient(servstp.Text,25);
字符串数据;
字节[]数据;
字符串CRLF=“\r\n”;
LogList.Items.Clear();
尝试
{
//初始化
NetworkStream NetStrm=SmtpServ.GetStream();
StreamReader RdStrm=newstreamreader(SmtpServ.GetStream());
LogList.Items.Add(RdStrm.ReadLine());
//向服务器问好并将响应发送到日志报告中
Data=“HELLO server”+CRLF;
szData=System.Text.Encoding.ASCII.GetBytes(Data.tocharray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
//发送发件人数据
Data=“邮件发件人:”+“”+CRLF;
szData=System.Text.Encoding.ASCII.GetBytes(Data.tocharray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
//发送接收器数据
Data=“RCPT TO:”+“”+CRLF;
szData=System.Text.Encoding.ASCII.GetBytes(Data.tocharray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
//发送数据
Data=“Data”+CRLF;
szData=System.Text.Encoding.ASCII.GetBytes(Data.tocharray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
//发送内容数据
Data=“SUBJECT:”+ssobject.Text+CRLF+sMessage.Text+CRLF+”+CRLF;
szData=System.Text.Encoding.ASCII.GetBytes(Data.tocharray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
//从SMTP服务器退出
Data=“QUIT”+CRLF;
szData=System.Text.Encoding.ASCII.GetBytes(Data.tocharray());
NetStrm.Write(szData,0,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
//密切联系
NetStrm.Close();
RdStrm.Close();
日志列表。项目。添加(“紧密连接”);
LogList.Items.Add(“成功发送邮件…”);
//返回正常光标
光标。当前=cr;
}
捕获(无效操作异常错误)
{
添加(“错误:+err.ToString());
}
}
}
}
servstp.Text中存储的值应接收ip地址servstp.Text中存储的值应接收ip地址