发送&使用C#.net接收邮件 [英] Send & receive mail using C#.net

查看:110
本文介绍了发送&使用C#.net接收邮件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



任何人都可以指导我这样我想发送和接收代理服务器用户名和密码的邮件,我不是我的服务器地址; smpt port no以及如何找到这个。
请帮忙


做不同的事情

Hi,

     anybody can guide me in such I want to send and receive mail with proxy server userid and password and I dont my server address; smpt port no and how to find this.
pls help


do things different

推荐答案

您可以使用C#使用SMTP服务器。
private void SendBtn_Click( object sender,System.EventArgs e)
{
// 将光标更改为等待光标
光标cr = Cursor.Current;
Cursor.Current = Cursors.WaitCursor;

// 使用端口25创建服务器SMTP
TcpClient SmtpServ = new TcpClient(ServSMTP.Text, 25 );
string 数据;
byte [] szData;
string CRLF = &quo t; \r\\\
"
;
LogList.Items.Clear();

try
{
// initialization < br> NetworkStream NetStrm = SmtpServ.GetStream();
StreamReader RdStrm = new StreamReader(SmtpServ.GetStream());
LogList.Items。添加(RdStrm.ReadLine());

// 向服务器问好并将响应发送到日志报告
Data = " HELLO server" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData, 0 ,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());
// 发送发件人数据
Data = " MAIL FROM:" + " < span class = code-string><" + sFrom.Text + " >" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData, 0 ,szData。长度);
LogList.Items.Add(RdStrm.ReadLine());

// 发送接收者数据
数据= " RCPT TO:" + " < ;" + sTo.Text + " >" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData, 0 ,szData.Length);
LogList。 Items.Add(RdStrm.ReadLine());

// 发送数据
数据= " DATA" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray ());
NetStrm.Write(szData, 0 ,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());

// 发送内容数据
数据= " SUBJECT:" + sSubject.Text + CRLF +
sMessage.Text + CRLF + " 。" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm.Write(szData,< span class = code-digit> 0 ,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());

// 退出服务器SMTP
数据= " ; QUIT" + CRLF;
szData = System.Text.Encoding.ASCII.GetBytes(Data.ToCharArray());
NetStrm。写(szData, 0 ,szData.Length);
LogList.Items.Add(RdStrm.ReadLine());

// close connection
NetStrm.Close();
RdStrm.Close( );
LogList.Items.Add(" Close connection" );
LogList.Items.Add (" 成功发送邮件.. );

// 返回正常光标
Cursor.Current = cr;

}

catch (InvalidOperationException错误)
{
LogList.Items.Add(" 错误:" + err.ToString());
}




希望这有所帮助。

You can do this by using SMTP server using C#.
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());
    }
}

Hope this helped.


这篇关于发送&amp;使用C#.net接收邮件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆