用.net自带的函数发不出邮件怎么会事,iis的smtp配置了,瑞星也监控到邮件发送了,但是就是收不到。我只好用asp来发才可以。

解决方案 »

  1.   

    郵件都在 C:\Inetpub\mailroot\Queue 裡面可是就是不發真的奇怪了啊。
      

  2.   

    以前碰到过是因为IIS连不到DNS,连上就发掉了
      

  3.   

    以前也遇到过这个问题,可以搜搜里边的帖子,讲的比较详细!一种是不需要邮件服务器,用户名,密码的.但是系统必须启动smtp服务才可以!
    另一种是要设置邮件服务器,用户名,密码的!           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 = "&nbsp;&nbsp;&nbsp;&nbsp;我亲爱的朋友!这是我在<a href=\"http://www.xxx.com\">xxx</a>发现的好东东!我第一时刻想到了你,请无比过目!<br>&nbsp;&nbsp;&nbsp;&nbsp;";
    letter += "<a target=\"_blank\" href=\"" + requestUrl + "\">" + requestUrl + "</a>";
    if (text.Trim().Length > 0)
    {
    letter += "<br><br>&nbsp;&nbsp;&nbsp;&nbsp;还有:" + text;
    }

    mail.Body = letter;
    mail.Priority = MailPriority.High;
    SmtpMail.Send(mail);
    }
      

  4.   

    另一种,转贴别人的代码!
    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;
    }
    }
    }
    }
      

  5.   

    下半部分:
    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;
    }