jmail发送邮件报错,请各位帮个忙看下什么错
Message jmail = new Message();            jmail.Charset = "GB2312";//邮件字符集
            jmail.Encoding = "BASE64";//附件编码格式
            jmail.ContentType = "text/html";//内容格式
            jmail.ISOEncodeHeaders = false;//是否将信头编码成iso-8859-1字符集
            jmail.Priority = Convert.ToByte(1);//优先级,邮件的紧急程序,1 为最快,5 为最慢, 3 为默认值            jmail.From = "[email protected]";//发送人的邮件地址
            jmail.FromName = "[email protected]";//发送人的姓名
            jmail.Subject = "subject";//邮件主题
            jmail.MailServerUserName = "[email protected]";//身份验证的用户名
            jmail.MailServerPassWord = "******";//用户密码            jmail.AddRecipient("[email protected]", "", null);//添加收件人的信箱            jmail.Body = "body";            jmail.Send("stmp.163.com", false);//参数为邮件服务器
jmail4.5我装了的操作系统:windows 7报错:The message was undeliverable. All servers failed to receive the message
//堆栈跟踪:[COMException (0x8000ffff): The message was undeliverable. All servers failed to receive the message]
   jmail.MessageClass.Send(String mailServer, Boolean enque) +0
   Web.z_email.Button1_Click(Object sender, EventArgs e) in E:\Web\z_email.aspx.cs:40
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

解决方案 »

  1.   

    导致该问题的可能原因:1.用户名和密码    在代码里要写上    msg..MailServerUserName="用户名"    msg.MailServerPassWord="密码"    或是    msg.Send("用户名:密码@server.net")    要写发送端连接的邮件服务器和进入邮件服务器的用户名和密码。用户名和密码一定要存在于服务器上且正确。2.防火墙阻止了网络通讯或网络故障    有可能防火墙会认为这是蠕虫导致的狂发邮件的情况,所以会禁止群发邮件。    所以检查防火墙的设置就可能会发现。3.jmail组件权限不够。可能的处理为:给IIS用户对 jmail.dll文件的写权限。4.邮件服务器故障    Jmail发送首先要通过邮件服务器验证。  如果你的服务器不支持SMTP或者你的账号不能使用SMTP服务,那么就无法发送。  例如:163邮箱以前的用户默认是开通POP和SMTP服务的,但新用户都不开通,需要付费才能使用。QQ邮箱默认情况下POP和SMTP服务是关闭的,您只需进入您的QQ邮箱——》【设置】——》【账户】——》【POP3/IMAP/SMTP服务】,进行相关设置。  要想确定某一邮箱是否可以使用POP和SMTP,你可以用foxmail等邮件软件看能否收取该邮箱信件。详见:
    http://blog.csdn.net/sytweibo/article/details/4208256
      

  2.   


    我关掉了防火墙,杀毒软件,排除掉2我是在vs里直接运行的,这里边jmail权限又怎么改呢
      

  3.   

    1.安装jmail4.3 2.找到jmail.dll(Program Files\Dimac\w3JMail4下)3.执行Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin\ildasm.exe(可使用Visual Studio .Net 2003 命令提示),格式如下:tlbimp c:\Program Files\Dimac\w3JMail4\jmail.dll /out:myJmail.dll /namespace:myJmail就是我在Visual Studio .Net 2005命令提示下编译执行 tlbimp c:\Program Files\Dimac\w3JMail4\jmail.dll /out:myJmail.dll /namespace:myJmailusing System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Web.Mail;
    using System.Web.Util;
    using myJmail;using Tool;
    using Manager;
    using Entity;public partial class UserControls_Jmaill : System.Web.UI.UserControl
    {
        string strCurrentPath = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString();
        protected void Page_Load(object sender, EventArgs e)
        {
        }
        protected void btnSend_Click(object sender, EventArgs e)
        {
            try
            {
                this.lblTitle.Text = "发送邮件控件";
      
                myJmail.Message Jmail = new myJmail.Message(); 
                DateTime t = DateTime.Now;
                String Subject = this.txtTitle.Text;
                String body = this.txtContent.Text;
                string FromEmail = this.txtFormEmail.Text.Trim();//你的email
                String ToEmail = this.txtToEmail.Text;//对方的email
                String AddAttachment = this.FileUploadSubject.PostedFile.FileName;
                //Silent属性:如果设置为true,JMail不会抛出例外错误. JMail. Send( () 会根据操作结果返回true或false 
                Jmail.Silent = true;
                //Jmail创建的日志,前提loging属性设置为true
                Jmail.Logging = true;
                //字符集,缺省为"US-ASCII"
                Jmail.Charset = "GB2312";
                //信件的contentype. 缺省是"text/plain") : 字符串如果你以HTML格式发送邮件, 改为"text/html"即可。
              //  Jmail.ContentType = "text/html";
                ToEmail = ToEmail.Replace("\n", "").Replace(" ", ""); 
                string[] str = ToEmail.Split(’,’);            for (int i = 0; i < str.Length; i++)
                {
                    //添加收件人
                    Jmail.AddRecipient(str[i], "", "");
                    
                    Jmail.From = FromEmail;
                    //发件人邮件用户名
                    Jmail.MailServerUserName = FromEmail; 
                    //发件人邮件密码
                    Jmail.MailServerPassWord = "";//FromEmail邮箱的登陆密码
                    //设置邮件标题
                    Jmail.Subject = Subject;
                    // 邮件添加附件,(多附件的话,可以再加一条Jmail.AddAttachment( "c:\\test.jpg",true,null);)就可以搞 定了。[注]:加了附件,讲把上面的Jmail.ContentType="text/html";删掉。否则会在邮件里出现乱码。
                    Jmail.AddAttachment(AddAttachment, true, null); 
                    //邮件内容
                    Jmail.Body = body + t.ToString();
                    //加密文件
                    //Jmail.PGPEncrypt = true;
                    //Jmail发送的方法
                    Jmail.Send("smtp.163.com", false);
                    Jmail.ClearAttachments();
                    Jmail.ClearRecipients(); 
                }
                Jmail.Close();
            }
            catch (Exception ex)
            {
                this.lblMessage.Text = ex.Message;
            }
        }
     
    }
      

  4.   

    实在不明白为什么要用JMAIL呢?
    自带不就可以了么
      

  5.   


    using System.Net.Mail;
    http://msdn.microsoft.com/zh-cn/library/system.net.mail