邮件传送报错,在线等

liuzhuan13873941390 2010-11-29 09:06:44


这个错误时什么意思? 我补丁都打好了嘚
...全文
172 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
有的话发我邮箱 276886584@qq.com 谢谢了。!
  • 打赏
  • 举报
回复
额,但是要这个这个功能。你们是用什么做的呢?
可以把代码发个列子给我吗? 我把百度和谷歌的列子都搜到了。 一直报错。
chen_ya_ping 2010-11-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 liuzhuan13873941390 的回复:]

<%@ Import Namespace="jmail"%>

<script runat="server">
protected void Page_Load(Object Src, EventArgs E)
{

Message jmail = new Message();
jmail.From = "sss";
jmail.AddRecipien……
[/Quote]
邮件,我看还是内部发发吧,发外部的,错误是难免的。
  • 打赏
  • 举报
回复
对。 找出原因了。 只支持企业邮箱。 那要把代码改为什么 ,才可以支持QQ或者其他的邮箱呢?
leejelen 2010-11-29
  • 打赏
  • 举报
回复
jmail貌似支持的是企业邮箱吧。非企业邮箱,好像发不了!
  • 打赏
  • 举报
回复
不允许使用邮箱名称。 服务器响应为: Requested action not taken: Local user only,smtp13,EcCowKALpwUlGfNMB8pvAA--.41025S2 1291000101



var mailMessage = new MailMessage();
mailMessage.To.Add("276886584@qq.com");
mailMessage.From = new MailAddress(_mailFrom);
mailMessage.Subject = "adsf";
mailMessage.Body = "sdaf";
mailMessage.IsBodyHtml = true;
mailMessage.BodyEncoding = Encoding.UTF8;
mailMessage.Priority = MailPriority.Normal;
try
{
Send(mailMessage);
Response.Write("<script LANGUAGE=JavaScript>alert('添加成功!');location.href='jiandang_Edit.aspx';</script>");
}
catch (Exception e3)
{
Response.Write("<script LANGUAGE=JavaScript>alert('失败!"+e3+"');location.href='jiandang_Edit.aspx';</script>");

}

代码
  • 打赏
  • 举报
回复
没有报错。 但是也没成功。怎么回事??
  • 打赏
  • 举报
回复
mailMessage.To.Add 不存在ADD这个方法???
fendouaj 2010-11-29
  • 打赏
  • 举报
回复
刚才网络出了点问题,还以为发帖没有成功,又发了一次!
fendouaj 2010-11-29
  • 打赏
  • 举报
回复
private static readonly string _password = ConfigurationManager.AppSettings["MailServerPassword"];//发件人密码 如:123456
private static readonly string _mailFrom = ConfigurationManager.AppSettings["MailServerAddress"];//发件人邮箱地址 如:163@163.com
private static readonly string _mailSMTP = ConfigurationManager.AppSettings["MailServerSMTP"];//发送邮件服务 如:smtp.163.com
private static readonly string _mailSMTPPort = ConfigurationManager.AppSettings["MailServerSMTPPort"];//发送服务器 如:25
private static readonly string _isCredential = ConfigurationManager.AppSettings["IsMailServerCredential"];//是否需要网络凭证:如:Y/N
private static readonly string _isEnableSsl = ConfigurationManager.AppSettings["IsMailServerEnableSsl"];//是否使用SSL 如:Y/N
private static readonly string _maxTimeout = ConfigurationManager.AppSettings["MaxTimeout"];//最大超时时间


/// <summary>
/// 单发邮件
/// </summary>
/// <returns></returns>
public bool SendMail()
{
var mailMessage = new MailMessage();
mailMessage.To.Add("收件人Email");
mailMessage.From = new MailAddress("发件人Email");
mailMessage.Subject = "邮件标题";
mailMessage.Body = "邮件内容";
mailMessage.IsBodyHtml = true;
mailMessage.BodyEncoding = Encoding.UTF8;
mailMessage.Priority = MailPriority.Normal;
try
{
Send(mailMessage);
return true;
}
catch (Exception e)
{
Log.Info("发送邮件失败原因:" + e.ToString());
return false;
}
}
/**/
/// <summary>
/// 发送邮件
/// </summary>
public void Send(MailMessage mailMessage)
{
if (mailMessage != null)
{
string mailSMTP = _mailSMTP;
string mailSMTPPort = _mailSMTPPort;
string isCredential = _isCredential;
string isEnableSsl = _isEnableSsl;

var smtpClient = new SmtpClient();
smtpClient.Host = mailSMTP;
smtpClient.Timeout = Convert.ToInt32(_maxTimeout);
//判断是否需要指定smpt port
if (mailSMTPPort != null && !string.Empty.Equals(mailSMTPPort))
{
int smptPort = int.Parse(mailSMTPPort);
smtpClient.Port = smptPort;
}

if ("Y".Equals(isCredential))
{
smtpClient.Credentials = new NetworkCredential(_mailFrom, _password);
}
smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
if ("Y".Equals(isEnableSsl))
{
smtpClient.EnableSsl = true;
}
smtpClient.Send(mailMessage);
}
}
fendouaj 2010-11-29
  • 打赏
  • 举报
回复
这是gmail的配置例子
<add key="MailServerAddress" value="test@gmail.com" />
<add key="MailServerPassword" value="123456" />
<add key="MailServerSMTP" value="smtp.gmail.com" />
<add key="MailServerSMTPPort" value="25" />
<add key="IsMailServerCredential" value="Y" />
<add key="IsMailServerEnableSsl" value="Y" />
<add key="MaxTimeout" value="300000" />

这是163的配置例子
<add key="MailServerAddress" value="test@163.com" />
<add key="MailServerPassword" value="123456" />
<add key="MailServerSMTP" value="smtp.163.com" />
<add key="MailServerSMTPPort" value="" />
<add key="IsMailServerCredential" value="Y" />
<add key="IsMailServerEnableSsl" value="Y" />
<add key="MaxTimeout" value="300000" />

private static readonly string _password = ConfigurationManager.AppSettings["MailServerPassword"];//发件人密码 如:123456
private static readonly string _mailFrom = ConfigurationManager.AppSettings["MailServerAddress"];//发件人邮箱地址 如:163@163.com
private static readonly string _mailSMTP = ConfigurationManager.AppSettings["MailServerSMTP"];//发送邮件服务 如:smtp.163.com
private static readonly string _mailSMTPPort = ConfigurationManager.AppSettings["MailServerSMTPPort"];//发送服务器 如:25
private static readonly string _isCredential = ConfigurationManager.AppSettings["IsMailServerCredential"];//是否需要网络凭证:如:Y/N
private static readonly string _isEnableSsl = ConfigurationManager.AppSettings["IsMailServerEnableSsl"];//是否使用SSL 如:Y/N
private static readonly string _maxTimeout = ConfigurationManager.AppSettings["MaxTimeout"];//最大超时时间
/// <summary>
/// 单发邮件
/// </summary>
/// <param name="messageInfo"></param>
/// <returns></returns>
public bool SendMail(MessageInfo messageInfo)
{
var mailMessage = new MailMessage();
mailMessage.To.Add(messageInfo.To);
mailMessage.From = new MailAddress(_mailFrom);
mailMessage.Subject = messageInfo.Title;
mailMessage.Body = messageInfo.Body;
mailMessage.IsBodyHtml = true;
mailMessage.BodyEncoding = Encoding.UTF8;
mailMessage.Priority = MailPriority.Normal;
try
{
Send(mailMessage);
return true;
}
catch (Exception e)
{
Log.Info("发送邮件失败原因:" + e.ToString());
return false;
}
}
/**/
/// <summary>
/// 发送邮件
/// </summary>
public void Send(MailMessage mailMessage)
{
if (mailMessage != null)
{
string mailSMTP = _mailSMTP;
string mailSMTPPort = _mailSMTPPort;
string isCredential = _isCredential;
string isEnableSsl = _isEnableSsl;

var smtpClient = new SmtpClient();
smtpClient.Host = mailSMTP;
smtpClient.Timeout = Convert.ToInt32(_maxTimeout);
//判断是否需要指定smpt port
if (mailSMTPPort != null && !string.Empty.Equals(mailSMTPPort))
{
int smptPort = int.Parse(mailSMTPPort);
smtpClient.Port = smptPort;
}

if ("Y".Equals(isCredential))
{
smtpClient.Credentials = new NetworkCredential(_mailFrom, _password);
}
smtpClient.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
if ("Y".Equals(isEnableSsl))
{
smtpClient.EnableSsl = true;
}
smtpClient.Send(mailMessage);
}
}
  • 打赏
  • 举报
回复
<%@ Import Namespace="jmail"%>

<script runat="server">
protected void Page_Load(Object Src, EventArgs E)
{

Message jmail = new Message();
jmail.From = "sss";
jmail.AddRecipient("276886584@qq.com", null, null);
jmail.MailServerUserName = "lz@dn.cn";
jmail.MailServerPassWord = "liuzhuan";
jmail.Subject = "jmail c#";
jmail.Send("smtp.163.com", false);
}
</script>


你们拿这句代码去试试, 会跟我报以样的错的
  • 打赏
  • 举报
回复
jmail44_free 我打了这个补丁. 还要在哪里配置吗?
  • 打赏
  • 举报
回复

<%@ Import Namespace="jmail"%>

<script runat="server">
protected void Page_Load(Object Src, EventArgs E)
{

Message jmail = new Message();
jmail.From = "sss";
jmail.AddRecipient("276886584@qq.com", null, null);
jmail.MailServerUserName = "lz@dn.cn";
jmail.MailServerPassWord = "liuzhuan";
jmail.Subject = "jmail c#";
jmail.Send("smtp.163.com", false);
}
</script>









报错The message was undeliverable. All servers failed to receive the message
leejelen 2010-11-29
  • 打赏
  • 举报
回复
你用什么方式发送的邮件?
阿云ivan 2010-11-29
  • 打赏
  • 举报
回复
看不到图片
不能发送邮件一般都是配置没搞对
  • 打赏
  • 举报
回复
leejelen 2010-11-29
  • 打赏
  • 举报
回复
就用微软自带的发邮件方式咯。哈哈。你上网查下就有了!MailMessage
http://blog.csdn.net/lff642/archive/2008/07/15/2654346.aspx
不过有个小问题要提醒下。如果你网站发布之后的空间是不支持这种发邮件方式的话。也是比较麻烦的。哈哈。祝好运!

62,073

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧