用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;
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;
解决方案 »
- MsChart控件X轴文字颠倒
- ASP.net如何实现网页中MediaPlayer可以从指定位置开始播放(缓冲)MP4文件
- petshop4.0中的初级问题
- 如何在SQL语句的like子句中使用正则表达式?
- 打印页面时出现的问题
- 新手上路:文件处理问题[求助]
- 从未用过iframe,谁给我一个ifame的完整示例(asp.net/c#)
- 向另一页面传递参数的问题
- 请帮帮忙:在VS2005下建立水晶报表出现的错误:登录失败。详细资料: crdb_adoplus : 未将对象引用设置到对象的实例。文件 C:\DOCUME~1\SUI
- SqlParameter1.Direction = ParameterDirection.Output能返回一个DataSet么?
- 数据库的NULL好烦啊,不好比较不好判断,怎么办?
- repeater里的textbox.text值。。
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");
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();
换其他邮箱试试
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;
}