用.net自带的函数发不出邮件怎么会事,iis的smtp配置了,瑞星也监控到邮件发送了,但是就是收不到。我只好用asp来发才可以。
解决方案 »
- 编写论坛代码时产生的疑惑。不断回帖,该怎么设置。导航栏怎么放置
- 远程服务器返回错误: (500) 内部服务器错误
- 数据控件绑定数据显示链接的问题
- 能不能判断回调函数的执行状态?
- 关于 gridview 行和行直接插入新列的问题。第3次发贴~~~~~~~~~~~
- 100分,求这样的网页效果,好像是javascript的,请高手帮助。在线,立即给分。
- 奇怪问题,为什么ASp.net的服务器或是网站都出奇的慢
- asp.net(C#)上传文件直接存储到ORACLE BLOB字段中
- 预定系统,如何判断用户是否交费?急,在线等
- 关于控件的位置.........(不好意思没分了)
- 请问字符串中如何得到全角字符长为2?(急!)
- 怎么样有ListBox中显示成树型数据????????????
另一种是要设置邮件服务器,用户名,密码的! private void Btn_submit_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
string mailTo = "", mailCc = "", fname = "", memail = "", text = "", letter = "";
if (TBox_femail.Text.Trim().Length > 0)
{
string femail = TBox_femail.Text.Trim();
int cindex = 0;
//int count = 0; if ((cindex = femail.IndexOf(",")) > 0)
{
mailTo = femail.Substring(0,cindex).Trim();
mailCc = femail.Substring(cindex + 1).Trim(); if (mailTo.IndexOf("@") <= 0)
{
return;
}
}
else
{
mailTo = femail.Trim();
if (mailTo.IndexOf("@") <= 0)
{
return;
}
}
}
else
{
return;
} if (TBox_fname.Text.Trim().Length > 0)
{
fname = TBox_fname.Text.Trim();
}
else
{
return;
}
if (TBox_memail.Text.Trim().Length > 0)
{
memail = TBox_memail.Text.Trim();
if (memail.IndexOf("@") <= 0)
{
return;
}
}
else
{
return;
} text = TBox_letter.Text.Trim();
mail.To = mailTo;
if (mailCc.Length > 0)
{
mail.Cc = mailCc;
}
mail.From = memail;
mail.Subject = "专程来函,极力推荐,务必过目!!";
mail.BodyFormat = MailFormat.Html; letter = " 我亲爱的朋友!这是我在<a href=\"http://www.xxx.com\">xxx</a>发现的好东东!我第一时刻想到了你,请无比过目!<br> ";
letter += "<a target=\"_blank\" href=\"" + requestUrl + "\">" + requestUrl + "</a>";
if (text.Trim().Length > 0)
{
letter += "<br><br> 还有:" + text;
}
mail.Body = letter;
mail.Priority = MailPriority.High;
SmtpMail.Send(mail);
}
using System;
using System.Collections;
using System.IO;
using System.Net.Sockets;
using System.Text;namespace lion_office.Data.Library.MailClass
{
public class ESmtpMail
{
private string enter = "\r\n"; public string Charset = "GB2312"; public string From = ""; public string FromName = ""; public string RecipientName = ""; private Hashtable Recipient = new Hashtable(); private string mailserver = ""; private int mailserverport = 25; private string username = ""; private string password = ""; private bool ESmtp = false; public bool Html = false; private ArrayList Attachments; private string priority = "Normal"; public string Subject = ""; public string Body = ""; private int RecipientNum = 0; private int recipientmaxnum = 1; private string errmsg; private TcpClient tc; private NetworkStream ns; private Hashtable ErrCodeHT = new Hashtable(); private Hashtable RightCodeHT = new Hashtable(); private string logs = "";
public string MailDomain
{ set
{
string str1 = value.Trim();
if (str1 != "")
{
int i = str1.IndexOf("@");
if (i != -1)
{
string str2 = str1.Substring(0, i);
MailServerUserName = str2.Substring(0, str2.IndexOf(":"));
MailServerPassWord = str2.Substring(str2.IndexOf(":") + 1, str2.Length - str2.IndexOf(":") - 1);
str1 = str1.Substring(i + 1, str1.Length - i - 1);
}
i = str1.IndexOf(":");
if (i != -1)
{
mailserver = str1.Substring(0, i);
mailserverport = Convert.ToInt32(str1.Substring(i + 1, str1.Length - i - 1));
}
else
{
mailserver = str1;
}
}
}
}
public int MailDomainPort
{ set
{
mailserverport = value;
}
} public string MailServerUserName
{ set
{
if (value.Trim() != "")
{
username = value.Trim();
ESmtp = true;
}
else
{
username = "";
ESmtp = false;
}
}
} public string MailServerPassWord
{ set
{
password = value;
}
} public string Priority
{ // Decompilation not complete! (5)
set
{
Expression: "high";
Expression: "1";
Expression: "normal";
Expression: "3";
Expression: "low";
Expression: "5";
IL_001e: leave.s ;
IL_0020: string str; if ((str = value.ToLower()) == null)
{
goto IL_00b4;
}
str = String.IsInterned(str);
if (str == "high")
{
goto IL_0066;
}
if (str == "1")
{
goto IL_0073;
}
if (str == "normal")
{
goto IL_0080;
}
if (str == "3")
{
goto IL_008d;
}
if (str == "low")
{
goto IL_009a;
}
if (str != "5")
{
priority = "Normal";
}
else
{
priority = "Low";
}
goto IL_00c1;
priority = "High";
goto IL_00c1;
priority = "High";
goto IL_00c1;
priority = "Normal";
goto IL_00c1;
priority = "Normal";
goto IL_00c1;
priority = "Low";
}
} public string ErrorMessage
{
get
{
return errmsg;
}
} public string Logs
{
get
{
return logs;
}
} public int RecipientMaxNum
{ set
{
recipientmaxnum = value;
}
} public ESmtpMail()
{
Attachments = new ArrayList();
} private void SMTPCodeAdd()
{
ErrCodeHT.Add("500", "\u90ae\u7bb1\u5730\u5740\u9519\u8bef");
ErrCodeHT.Add("501", "\u53c2\u6570\u683c\u5f0f\u9519\u8bef");
ErrCodeHT.Add("502", "\u547d\u4ee4\u4e0d\u53ef\u5b9e\u73b0");
ErrCodeHT.Add("503", "\u670d\u52a1\u5668\u9700\u8981SMTP\u9a8c\u8bc1");
ErrCodeHT.Add("504", "\u547d\u4ee4\u53c2\u6570\u4e0d\u53ef\u5b9e\u73b0");
ErrCodeHT.Add("421", "\u670d\u52a1\u672a\u5c31\u7eea\uff0c\u5173\u95ed\u4f20\u8f93\u4fe1\u9053");
ErrCodeHT.Add("450", "\u8981\u6c42\u7684\u90ae\u4ef6\u64cd\u4f5c\u672a\u5b8c\u6210\uff0c\u90ae\u7bb1\u4e0d\u53ef\u7528\uff08\u4f8b\u5982\uff0c\u90ae\u7bb1\u5fd9\uff09");
ErrCodeHT.Add("550", "\u8981\u6c42\u7684\u90ae\u4ef6\u64cd\u4f5c\u672a\u5b8c\u6210\uff0c\u90ae\u7bb1\u4e0d\u53ef\u7528\uff08\u4f8b\u5982\uff0c\u90ae\u7bb1\u672a\u627e\u5230\uff0c\u6216\u4e0d\u53ef\u8bbf\u95ee\uff09");
ErrCodeHT.Add("451", "\u653e\u5f03\u8981\u6c42\u7684\u64cd\u4f5c\uff1b\u5904\u7406\u8fc7\u7a0b\u4e2d\u51fa\u9519");
ErrCodeHT.Add("551", "\u7528\u6237\u975e\u672c\u5730\uff0c\u8bf7\u5c1d\u8bd5<forward-path>");
ErrCodeHT.Add("452", "\u7cfb\u7edf\u5b58\u50a8\u4e0d\u8db3\uff0c\u8981\u6c42\u7684\u64cd\u4f5c\u672a\u6267\u884c");
ErrCodeHT.Add("552", "\u8fc7\u91cf\u7684\u5b58\u50a8\u5206\u914d\uff0c\u8981\u6c42\u7684\u64cd\u4f5c\u672a\u6267\u884c");
ErrCodeHT.Add("553", "\u90ae\u7bb1\u540d\u4e0d\u53ef\u7528\uff0c\u8981\u6c42\u7684\u64cd\u4f5c\u672a\u6267\u884c\uff08\u4f8b\u5982\u90ae\u7bb1\u683c\u5f0f\u9519\u8bef\uff09");
ErrCodeHT.Add("432", "\u9700\u8981\u4e00\u4e2a\u5bc6\u7801\u8f6c\u6362");
ErrCodeHT.Add("534", "\u8ba4\u8bc1\u673a\u5236\u8fc7\u4e8e\u7b80\u5355");
ErrCodeHT.Add("538", "\u5f53\u524d\u8bf7\u6c42\u7684\u8ba4\u8bc1\u673a\u5236\u9700\u8981\u52a0\u5bc6");
ErrCodeHT.Add("454", "\u4e34\u65f6\u8ba4\u8bc1\u5931\u8d25");
ErrCodeHT.Add("530", "\u9700\u8981\u8ba4\u8bc1");
RightCodeHT.Add("220", "\u670d\u52a1\u5c31\u7eea");
RightCodeHT.Add("250", "\u8981\u6c42\u7684\u90ae\u4ef6\u64cd\u4f5c\u5b8c\u6210");
RightCodeHT.Add("251", "\u7528\u6237\u975e\u672c\u5730\uff0c\u5c06\u8f6c\u53d1\u5411<forward-path>");
RightCodeHT.Add("354", "\u5f00\u59cb\u90ae\u4ef6\u8f93\u5165\uff0c\u4ee5<enter>.<enter>\u7ed3\u675f");
RightCodeHT.Add("221", "\u670d\u52a1\u5173\u95ed\u4f20\u8f93\u4fe1\u9053");
RightCodeHT.Add("334", "\u670d\u52a1\u5668\u54cd\u5e94\u9a8c\u8bc1Base64\u5b57\u7b26\u4e32");
RightCodeHT.Add("235", "\u9a8c\u8bc1\u6210\u529f");
} private string Base64Encode(string str)
{
return Convert.ToBase64String(Encoding.Default.GetBytes(str));
} private string Base64Decode(string str)
{
byte[] bs = Convert.FromBase64String(str);
return Encoding.Default.GetString(bs);
} private string GetStream(string FilePath)
{
FileStream fileStream = new FileStream(FilePath, FileMode.Open);
byte[] bs = new byte[(uint)Convert.ToInt32(fileStream.Length)];
fileStream.Read(bs, 0, (int)bs.Length);
fileStream.Close();
return Convert.ToBase64String(bs);
} public void AddAttachment(string path)
{
Attachments.Add(path);
} public bool AddRecipient(string str)
{
bool flag; str = str.Trim();
if (str == null || str == "" || str.IndexOf("@") == -1)
{
flag = true;
}
else if (RecipientNum < recipientmaxnum)
{
Recipient.Add(RecipientNum, str);
RecipientNum++;
flag = true;
}
else
{
errmsg = String.Concat(errmsg, "\u6536\u4ef6\u4eba\u8fc7\u591a");
flag = false;
}
return flag;
} public bool AddRecipient(string[] str)
{
bool flag; for (int i = 0; i < (int)str.Length; i++)
{
if (AddRecipient(str[i]))
{
goto IL_0013;
}
flag = false;
goto IL_0021;
}
flag = true;
return flag;
} private bool SendCommand(string str)
{
bool flag; if (str == null || str.Trim() == "")
{
flag = true;
}
else
{
logs = String.Concat(logs, str);
byte[] bs = Encoding.Default.GetBytes(str);
try
{
ns.Write(bs, 0, (int)bs.Length);
}
catch
{
errmsg = "\u7f51\u7edc\u8fde\u63a5\u9519\u8bef";
flag = false;
return flag;
}
flag = true;
}
return flag;
} private string RecvResponse()
{
int i; string str1 = "";
byte[] bs = new byte[1024];
try
{
i = ns.Read(bs, 0, (int)bs.Length);
}
catch
{
errmsg = "\u7f51\u7edc\u8fde\u63a5\u9519\u8bef";
string str2 = "false";
return str2;
}
if (i == 0)
{
str2 = str1;
}
else
{
str1 = Encoding.Default.GetString(bs).Substring(0, i);
logs = String.Concat(logs, str1);
str2 = str1;
}
return str2;
} private bool Dialog(string str, string errstr)
{
bool flag; if (str == null || str.Trim() == "")
{
flag = true;
}
else if (SendCommand(str))
{
string str2 = RecvResponse();
if (str2 == "false")
{
flag = false;
}
else
{
string str3 = str2.Substring(0, 3);
if (RightCodeHT[str3] != null)
{
flag = true;
}
else
{
if (ErrCodeHT[str3] != null)
{
errmsg = String.Concat(errmsg, str3, ErrCodeHT[str3].ToString());
errmsg = String.Concat(errmsg, enter);
}
else
{
errmsg = String.Concat(errmsg, str2);
}
errmsg = String.Concat(errmsg, errstr);
flag = false;
}
}
}
else
{
flag = false;
}
return flag;
} private bool Dialog(string[] str, string errstr)
{
bool flag; for (int i = 0; i < (int)str.Length; i++)
{
if (Dialog(str[i], ""))
{
goto IL_0041;
}
errmsg = String.Concat(errmsg, enter);
errmsg = String.Concat(errmsg, errstr);
flag = false;
goto IL_004f;
}
flag = true;
return flag;
}