读书人

tcpclient 如何发需要SSL的邮件

发布时间: 2012-04-23 13:17:38 作者: rapoo

tcpclient 怎么发需要SSL的邮件
现在不少邮箱要求验证 即ESMTP, 可以用tcpclient来解决
但是tcpclient 怎么发支持SSL的邮件和回复邮箱功能?


smtp 用 smtpClient 发邮件

C# code
SmtpClient smtp = new SmtpClient(); //实例化一个SmtpClient//可以支持SSL,smtp.EnableSsl = useSsl;//smtp服务器是否启用SSL加密//可以支持SSL,//可以支持 回复邮箱 ReplyTo MailMessage mm = new MailMessage(); //实例化一个邮件类mm.ReplyTo = new MailAddress(replyToEmail, displayName,Encoding.Default);


ESMTP 用 TcpClient 发邮件
但是ESMTP怎么支持 SSL 和回复邮箱的功能呢?

C# code
 //准备发送                SendCmd("MAIL FROM: <" + mail.MailFrom + ">\r\n");//必须加个‘<’、‘>’,否则出现500 bad Syntax 错误,即命令语法错误                orderText += "MAIL FROM: <" + mail.MailFrom + ">\r\n";                //if (GetStatusCode(ref orderText) != 250)                //{ return false; }                foreach (string to in mail.MailTo)                {                    SendCmd("RCPT TO: <" + to + ">\r\n");//必须加个‘<’、‘>’,否则出现500 bad Syntax 错误,即命令语法错误                    orderText += "RCPT TO: <" + to + ">\r\n";                    //if (GetStatusCode(ref orderText) != 250)                    //{ return false; }                }                SendCmd("data\r\n");                orderText += "data\r\n";                //if (GetStatusCode(ref orderText) != 354)                //{ return false; }                StringBuilder content = new StringBuilder();                //邮件头                content.AppendFormat("From:{0}\r\n", mail.MailFrom);                string toTxt = string.Empty;                foreach (string to in mail.MailTo)                {                    toTxt += to + ";";                }                toTxt = toTxt.Substring(0, toTxt.Length - 1);                content.AppendFormat("To:{0}\r\n", toTxt);//发送到达邮件                content.AppendFormat("Date:{0}\r\n", mail.SendDate.ToString());//发送时间                content.AppendFormat("Subject:{0}\r\n", mail.Subject);//邮件主题                //邮件格式                //邮件内容                content.Append("\r\n");                content.Append(mail.Body);//邮件内容                content.Append("\r\n.\r\n");                //邮件附件                SendCmd(content.ToString());                orderText += content.ToString();


[解决办法]
ESMTP 还是头次听说,帮顶了

读书人网 >C#

热点推荐