发E-MAIL分2种,一种是直接发,一种是通过SMTP服务器发,这2种发法的协议我都想要,网上找到的没有身验证部分.所以只能问问大家了.第一步:取MX记录.
> 21cn.com
Server: ns.guangzhou.gd.cn
Address: 202.96.128.143Non-authoritative answer:
21cn.com MX preference = 10, mail exchanger
21cn.com MX preference = 20, mail exchanger21cn.com nameserver = cdnns1.21cn.com
21cn.com nameserver = cdnns2.21cn.com
21cn.com nameserver = cdnns3.21cn.com
mta.21cn.com internet address = 61.140.60.20
mta2.21cn.com internet address = 61.140.60.70
cdnns1.21cn.com internet address = 61.140.60.117
cdnns2.21cn.com internet address = 218.30.69.20
cdnns3.21cn.com internet address = 221.192.129.21
这堆IP中,向哪个发好第2步:发信
请大家说说需要登陆了再发信和直接向目标地址发信(类似FOXMAIL的特快专递)的协议.中间的字串请用C#的转义符.只要回答完整可用,我会另开一贴送多200分.那些顶呀做广告之类的朋友,不好意思,我宁可减信用,大家看看我的信用就知道了.
> 21cn.com
Server: ns.guangzhou.gd.cn
Address: 202.96.128.143Non-authoritative answer:
21cn.com MX preference = 10, mail exchanger
21cn.com MX preference = 20, mail exchanger21cn.com nameserver = cdnns1.21cn.com
21cn.com nameserver = cdnns2.21cn.com
21cn.com nameserver = cdnns3.21cn.com
mta.21cn.com internet address = 61.140.60.20
mta2.21cn.com internet address = 61.140.60.70
cdnns1.21cn.com internet address = 61.140.60.117
cdnns2.21cn.com internet address = 218.30.69.20
cdnns3.21cn.com internet address = 221.192.129.21
这堆IP中,向哪个发好第2步:发信
请大家说说需要登陆了再发信和直接向目标地址发信(类似FOXMAIL的特快专递)的协议.中间的字串请用C#的转义符.只要回答完整可用,我会另开一贴送多200分.那些顶呀做广告之类的朋友,不好意思,我宁可减信用,大家看看我的信用就知道了.
http://www.codeproject.com/dotnet/SMTP_with_Authentication.asp
http://www.codeproject.com/dotnet/SystemWeb_Mail_SMTP_AUTH.asp
http://www.codeproject.com/cs/internet/smtpemailer.asp
{
MailMessage mail=new MailMessage();
mail.From=txtSend.Text;
mail.To=txtTo.Text;
mail.Subject=txtSubject.Text;
mail.Body=txtBody.Text;
SmtpMail.SmtpServer=this.ddlServer.SelectedItem.Text;
if(this.ddlServer.SelectedItem.Text!="")
{
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",this.txtUsn.Text);//Smtp Server上的用户名
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",this.txtPwd);//Smtp Server上的密码 }
string strFileName=FileSelect.PostedFile.FileName;
if(strFileName!="")
{
mail.Attachments.Add(new MailAttachment(strFileName));
}
SmtpMail.Send(mail);
}
catch(Exception err)
{
lblErr.Text=err.ToString();
}
通过smtp服务发送就是(Knight94(愚翁))
http://www.codeproject.com/dotnet/SystemWeb_Mail_SMTP_AUTH.asp
建议OpenSmtp发送一是源码可以根据需求更改,二是不依赖smtp服务(cdo组件)
本产品也是一直用OpenSmtp源码更改后嵌入的,到现在没有出现问题.(当然还要客户试运行一段时间)
kui1015(飞奔在孤独中)的不行.我是在.NET2.0中用的