问题标签 [system.web.mail]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1115 浏览

c# - 如何转换我的 C# 代码:System.Web.Mail 由“System.Net.Mail”转换

我正在使用“ System.Web.Mail ”使用 C# 和我的以下代码通过 SMTP 发送电子邮件。它正在工作,但我认为它已经过时了

所以我想使用“ System.Net.Mail

如何更改或转换以下代码

这是我的答案/解决方案::::::::::::::::::::::::::::::: 嗨,谢谢您的文件,

我尝试使用以下新代码:

有效,很好...

根据您的说法,此代码是否正确?

这是我的答案/解决方案:::::::::::::::::::::::::::::::

0 投票
1 回答
2932 浏览

c# - 将 System.Web.Mail 转换为 System.Net.Mail

我需要一些帮助将 System.Web.Mail 转换为 System.Net.Mail 以帮助在某些表单上适当地发送电子邮件通知。

使用的旧代码片段如下:

我遇到的一些错误包括:

1.)“System.Net.Mail.Message”不包含“BodyFormat”的定义,并且找不到接受“System.Net.Mail.MailMessage”类型的第一个参数的扩展方法“BodyFormat”。

2.) 非静态字段、方法或属性“System.Net.Mail.MailMessage.IsBodyHTML.get”需要对象引用

3.) 无法将类型“字符串”隐式转换为“System.Net.Mail.MailAddress”

4.) 不能将属性或索引器“System.Net.Mail.MailMessage.To”分配给——它是只读的。

...在发生的其他类似错误中。

我很确定其中大部分都与我试图解决的主要问题相互关联,该主要问题只是试图将 System.Web.Mail 的系统使用转换为 System.Net.Mail。

我已经通过 NuGet 完成了所有可能的 MVC 和 Telerik 更新,所以这些都是最新的。我也更新了所有参考资料,所以我知道这不再是问题。

我可能需要在 Web.Config 上更改一些内容,但我不太确定应该添加或修改哪些内容。我总是厌倦编辑系统文件和程序集,以及人们对它们的提示,所以我尽量避免进行这些更改,除非它们是绝对必要的。

目前我在文件顶部同时使用 System.Web.Mail 和 System.Net.Mail,因此它当前显示为:

使用 System.Web.Mail;

使用 System.Net.Mail;

...作为它的库的一部分包括。顺便说一下,该系统使用.NET Framework 4。我应该尝试将其更新到 .NET Framework 4.5 吗?

有没有人有任何可能的解决方案来更新这个代码块?从这里搜索看起来有很多人有类似的问题,但每个人的问题似乎都有来自论坛版主的混合结果/答案。

所以这就是为什么我提交这个问题只是为了看看我会得到什么样的回应。

希望这对你们来说已经足够了。如果没有,请让我知道您是否需要其他信息,以便我为您提供。

谢谢!

0 投票
2 回答
1311 浏览

c# - 附件不与电子邮件一起使用

我正在从以下详细信息发送邮件:

}

邮件与上述详细信息正常,现在我想在电子邮件中添加附件。为此,我添加了以下代码:

但它不会在邮件中添加附件。

它给出了“不支持 URI 格式”的错误。

0 投票
0 回答
1681 浏览

c# - System.Web.Mail.SmtpMail 发送 SSL 465 端口异常

由于 System.Net.Mail 不支持隐式 SSL,我使用 System.Web.Mail 类发送邮件。我的代码是下一个:

当我运行 SmtpMail.Send 方法时,出现以下异常:

System.Web.HttpException (0x80004005):传输无法连接
到服务器。---> System.Reflection.TargetInvocationException:
调用的目标已抛出异常。--->
System.Runtime.InteropServices.COMException:传输无法
连接到服务器。

--- 内部异常堆栈跟踪结束 --- 在
System.RuntimeType.InvokeDispMethod(String name, BindingFlags
invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32culture
, String[] namedParameters) 在
System.RuntimeType System.Web.Mail.SmtpMail.LateBoundAccessHelper.CallMethod ( Object obj
, String方法名,对象 [] 参数)在 System.Web.Mail.SmtpMail.LateBoundAccessHelper.CallMethod(对象 obj, 字符串方法名,对象 [] 参数)在






System.Web.Mail.SmtpMail.CdoSysHelper.Send(MailMessage 消息)在
System.Web.Mail.SmtpMail.Send(MailMessage 消息)

我试图为此找到解决方案,例如,这可能是防火墙/网关上的权限问题,但合适的人已经检查过了,所以没关系。

0 投票
1 回答
104 浏览

asp.net - 在 asp.net 中使用 system.web.mail 时某些电子邮件延迟或未送达

我有上述功能,用于从 IIS 托管的 .NET 3.5 asp.net 应用程序发送电子邮件。

单击按钮即可发送电子邮件,并从数据库表中读取收件人。

我遇到的问题是,一些收件人收到他们的电子邮件时没有任何问题,而另一些收件人则需要很长时间才能收到他们的电子邮件(有时在 24 小时后),而此时他们应该参加的活动已经过期(这有对我公司的法律影响)。最后,其他人没有完全收到电子邮件。

上面的MailForCandidate函数是从SendCandidateMail下面调用的。

以下是错误日志文本文件中记录的内容。

2017 年 1 月 22 日下午 3:23:04 ==> 异常消息:线程被中止。2017 年 1 月 22 日下午 3:23:04 ==> 异常源:App_Code 异常目标站点:System.String MailForCandidate(System.String, System.String, System.String, System.Collections.ArrayList, System.String, System .String, System.String, System.String, System.String, System.String, UserSession, System.String, System.String, Int32, Int32) 异常堆栈跟踪:在 WES.Util.SendMail.MailForCandidate(String strUserID, String用户名、字符串密码、ArrayList alFiles、字符串 FromName、字符串 FromAddr、字符串 ToAddr、字符串标题、字符串 strSubject、字符串 strCustomMsg、UserSession UserObj、字符串 strDeadLine、字符串 strTime、Int32 intOfficeId、Int32 intMailType) 在 Pages_ExerciseDetails.SendCandidateMail(Int32 intEmailType) 异常到字符串:System.Threading。ThreadAbortException:线程被中止。在 WES.Util.SendMail.MailForCandidate(字符串 strUserID,字符串用户名,字符串密码,ArrayList alFiles,字符串 FromName,字符串 FromAddr,字符串 ToAddr,字符串标题,字符串 strSubject,字符串 strCustomMsg,UserSession UserObj,字符串 strDeadLine,字符串 strTime,Int32 intOfficeId , Int32 intMailType) 在 Pages_ExerciseDetails.SendCandidateMail(Int32 intEmailType)

2017 年 1 月 22 日下午 3:23:04 ==> 异常消息:线程被中止。2017 年 1 月 22 日下午 3:23:04 ==> 异常源:App_Web_kxc2lbj5 异常目标站点:Void SendCandidateMail(Int32) 异常堆栈跟踪:在 Pages_ExerciseDetails.SendCandidateMail(Int32 intEmailType) 在 Pages_ExerciseDetails.ibtnSend_Click(Object sender, EventArgs e)字符串异常:System.Threading.ThreadAbortException:线程被中止。在 Pages_ExerciseDetails.SendCandidateMail(Int32 intEmailType) 在 Pages_ExerciseDetails.ibtnSend_Click(对象发件人,EventArgs e)

2017 年 1 月 22 日下午 3:23:04 ==> 异常消息:请求超时。2017 年 10 月 22 日下午 3:23:04 ==> 异常源:异常目标站点:异常堆栈跟踪:字符串异常:System.Web.HttpException:请求超时。

然后

2017 年 10 月 22 日下午 3:31:35 ==> 异常消息:引发了“System.Exception”类型的异常。2017 年 1 月 22 日下午 3:31:35 ==> 异常源:App_Web_kxc2lbj5 异常目标站点:Void SendCandidateMail(Int32) 异常堆栈跟踪:在 Pages_ExerciseDetails.SendCandidateMail(Int32 intEmailType) 字符串异常:System.Exception:类型异常'System.Exception' 被抛出。在 Pages_ExerciseDetails.SendCandidateMail(Int32 intEmailType)

我发现很难解决,因为它只发生在生产中。在 QA 和 Dev 中,电子邮件使用相同的 SMTP 服务器就可以了。