用C#编写的Jmail程序发不出邮件。帮忙呀。代码如下:
jmail.MessageClass msg = new jmail.MessageClass();

bool Flag  = false;
string strErr = "";msg.Body = "test";
EmailTitle ="Email hello";if (SmtpName != "" && SmtpPwd != "" )
{
msg.MailServerUserName = SmtpName;
msg.MailServerPassWord = SmtpPwd;
}
msg.Logging = true;
msg.Silent = true;
msg.ContentTransferEncoding = "base64";
msg.Encoding = "base64";
msg.Charset = "gb2312"; 
msg.From = SendMail;
msg.FromName = SendPerson;
msg.Subject = EmailTitle;
msg.Priority = 3;
msg.AddRecipientCC(SendMail,"","");
if (EmailTo.IndexOf(";") > 0)
{
string[] ArrEmail = EmailTo.Split(';');
for (int i = 0;i<  ArrEmail.Length;i++)
{
if (ArrEmail[i].ToString().Trim()!="")
{
msg.AddRecipient(ArrEmail[i].ToString(),"","");
}
}
}
else
{
msg.AddRecipient(EmailTo,"","");
}
try
{
Flag = msg.Send(SmtpServer,false);
if (Flag == true)
{
strErr = "1";
}

}
catch(Exception ex)
{
strErr = ex.Message;
}msg.Clear();
msg.Close();
msg = null;

解决方案 »

  1.   

    饿,太长了,看不完,我发我的给你吧
       public void sendEmail(string sender, string senderuser, string euser, string epwd, string receiver, string subject, string body, string eserver)
        {
            jmail.MessageClass jmMessage = new jmail.MessageClass();
            jmMessage.Charset = "GB2312";
            jmMessage.ISOEncodeHeaders = false;
            jmMessage.From = sender;
            jmMessage.FromName = senderuser;
            jmMessage.Subject = subject;
            jmMessage.MailServerUserName = euser;
            jmMessage.MailServerPassWord = epwd;
            jmMessage.AddRecipient(receiver, "", "");
        jmMessage.Body = body;
         if (jmMessage.Send(eserver, false))
            {
                Response.Write(" <script language=JAVAscript>alert('发送成功') </script>");
            }
            else
            {
                Response.Write(" <script language=JAVAscript>alert('发送失败,请仔细检查邮件服务器的设置是否正确!') </script>");
                jmMessage = null;
                return;
            }
        } sendEmail("[email protected]", "[email protected]", "[email protected]", "xxxxxxxxxxx", user.UserMail, "测试", "http://localhost:2380/UL/Sussess.aspx?y=" + user.UserNameMD5 + "&s=" + userKey + "&d=" + timeOut + "", "smtp.qq.com");
      

  2.   

    jmail.Message j = new jmail.Message();
      String Subject = "";
      String body = "";
      String FromEmail = "";
      String ToEmail = "";
      j.Silent = true;
      j.Logging = true;
      j.ContentType = "text/html";
      j.AddRecipient("', "", "");
      j.From = FromEmail;
      j.MailServerUserName = "";
      j.MailServerPassWord = ";
      j.Subject = Subject;
      j.Body = "";
      j.Send("smtp.163.com", false);
      j.Close();
    换其他邮箱试试
      

  3.   


    public void SendMailUseGmail()
        {
            System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage();
            /**/
            /*
    * msg.To.Add("[email protected]");
    * msg.To.Add("[email protected]");
    * msg.To.Add("[email protected]");可以发送给多人
    */
            /**/
            /*
    * msg.CC.Add("[email protected]");
    * msg.CC.Add("[email protected]");可以抄送给多人
    */
            msg.From = new MailAddress("[email protected]", "123", System.Text.Encoding.UTF8);
            /**/
            /* 上面3个参数分别是发件人地址(可以随便写),发件人姓名,编码*/
            msg.Subject = "这是测试邮件";//邮件标题
            msg.SubjectEncoding = System.Text.Encoding.UTF8;//邮件标题编码
            msg.Body = ScreenScrapeHtml("http://localhost:1667/WebSite1/");         msg.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码
            msg.IsBodyHtml = true;//是否是HTML邮件
            msg.Priority = MailPriority.High;//邮件优先级        SmtpClient client = new SmtpClient();
            client.Credentials = new System.Net.NetworkCredential("[email protected]", "123");
            //上述写你的GMail邮箱和密码
            client.Port = 587;//Gmail使用的端口
            client.Host = "smtp.gmail.com";
            client.EnableSsl = true;//经过ssl加密
            object userState = msg;
            try
            {
                //client.SendAsync(msg, userState);
                client.Send(msg);
                ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert(\"邮件发送成功!\");</script>");
                //sendNum++;
            }
            catch (System.Net.Mail.SmtpException ex)
            {
                ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>alert(\"邮件发送失败!\");</script>");
            }
        }    public static string ScreenScrapeHtml(string url)
        {
            WebRequest objRequest = System.Net.HttpWebRequest.Create(url);
            StreamReader sr = new StreamReader(objRequest.GetResponse().GetResponseStream(), Encoding.UTF8);
            string result = sr.ReadToEnd();
            sr.Close();
            return result;
        }