问题标签 [system.net.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.
c# - .NET System.Net.Mail 消息总是在内部服务器上被标记为垃圾邮件
我正在使用 System.Net.Mail 发送几封电子邮件。这些电子邮件由我们的内部邮件服务器发送到本地地址。然而,所有的邮件都直接进入 Outlook 中的垃圾邮件。消息是从有效的电子邮件地址发送的。是什么导致我们的服务器将其标记为垃圾?
c# - 在 asp.net 中发送邮件
我正在使用 asp.net 3.5 和 C#。
我想从 asp.net 发送邮件,因为我从我的托管服务提供商那里得到了一些详细信息
这些是:
- mail.MySite.net
- 用户名
- 密码
但是我无法通过这些详细信息发送邮件,我在 web.config 文件中进行了以下更改:
另外,在后面的代码中我正在编写这个函数:
但由于消息发送失败,我收到错误消息。
请让我知道我做错了什么以及我必须做些什么才能使其正常工作。
提前致谢。
c# - 为什么 System.Net.Mail 可以在我的 c#.net Web 应用程序的一个部分工作,而不能在另一个部分工作?
我有一个在我公司域内的 IIS 上运行的 Web 应用程序,并且正在通过 Intranet 访问。我有这个应用程序根据一些用户操作发送电子邮件。例如,它部分是调度应用程序,因此如果任务完成,则会发送一封电子邮件通知其他用户。
问题是,电子邮件在某些情况下可以完美运行,而在其他情况下则完全没有。我有一个 login.aspx 页面,它在页面加载时发送报告电子邮件(它每天通过 Windows 任务计划程序加载一次)——这似乎总是很完美。我有一个更新页面,它应该在输入文本并单击“更新”按钮时发送电子邮件 - 此操作大部分时间都会失败。这两个任务都使用我编写的使用 System.Net.Mail 发送电子邮件的相同静态重载方法。
我尝试使用 gmail 作为我的 smtp 服务器(而不是我们的内部服务器),并得到相同的结果。
我调查了运行本地 SMTP 服务是否有任何区别,但似乎没有。此外,由于 C# 是服务器端代码,不应该只关心服务器上运行的内容,而不是客户端吗?
请帮我找出问题所在!我应该去哪里看?我可以尝试什么?
下面是我发送电子邮件的代码。
c# - 如何使用带有特殊字符的电子邮件地址,例如 Ø
通过这样写:
注意域部分中的“ø”。
我得到一个例外说明:
System.FormatException:指定的字符串不是电子邮件地址所需的格式。在 System.Net.Mime.MailBnfHelper.ReadMailAddress(String data, Int32& offset, String& displayName) 在 System.Net.Mail.MailAddress.ParseValue(String address) 在 System.Net.Mail.MailAddress..ctor(String address, String displayName,编码 displayNameEncoding) 在 System.Net.Mail.MailAddress..ctor(String address)
使用的地址应该是完全有效的。
所以我猜我必须以某种方式对地址进行编码?
asp.net - System.Net.Mail.MailMessage "Reply-To" 标头在 IIS 6.0 中被忽略,但在 IIS 5.1 中正常
我有一个在 WinXP 机器(IIS 5.1)上开发和单元测试的 web 应用程序项目。它已发布到 Win2003Server (IIS 6.0)。该应用程序的一项功能会发送一封带有“回复”标题的电子邮件(以下是片段)。在 IIS 5.1 机器上,Reply-To 正确显示在标题中。从 IIS 6.0 PC 发送时,标头不包含回复地址(见下文):
以下Internet 标题是从 MS Outlook 2003 - 查看 - 选项粘贴的:
从 JOHNXP 机器(带有 IIS 5.1 的开发 PC)发送的有效回复:
缺少从 MOJITO 机器(带有 IIS 6.0 的 2003 服务器)发送的回复:
我什至在 Win2003 机器上设置了 VStudio2008 并在上面代码中的断点处停止,以确保邮件实际上是正确构建的,并在标题中添加了“回复”(确实如此)。然而,当到达 Outlook 时,来自 MOJITO 服务器的邮件在标题中缺少“回复”。
是否还有其他配置问题会阻碍实际代码尝试执行的操作?
c# - 发送到多个电子邮件地址但只显示一个 C#
我在 C# 中使用 SmtpClient,我将发送到潜在的 100 个电子邮件地址。我不想遍历每一个并向他们发送单独的电子邮件。
我知道可以只发送一次消息,但我不希望来自地址的电子邮件显示 100 个其他电子邮件地址,如下所示:
是否可以一次发送消息并确保仅收件人的电子邮件地址显示在电子邮件的发件人部分?
.net - System.Net.Mail.SmtpClient 是否支持 CRAM-MD5 身份验证?
System.Net.Mail.SmtpClient 是否支持 CRAM-MD5 身份验证,如果支持,我是否需要做任何事情来启用它?
MSDN 似乎对此事保持沉默。
smtp - System.Net.Mail 的 SMTP 中继要求与 System.Web.Mail 不同吗
我将我的 Web 应用程序部署到我们的生产 IIS 6.0 服务器,并且一切正常,除非我的代码尝试将电子邮件发送到不在我们的电子邮件服务器域中的地址。我见过各种症状,但这似乎是最直接的描述:
参数或参数中的语法错误。服务器响应为:5.7.1 此系统未配置为中继邮件
我的网络应用程序收到此错误消息使用 System.Net.Mail。它与应该替换的使用 System.Web.Mail 的旧 Web 应用程序一起存在。同一台机器上有一个 SMTP 服务器,似乎需要一些关于中继的新配置。
检查 SMTP 服务器属性显示没有为“中继限制”配置任何内容。旧的生产 Web 应用程序使用如上所述配置的 SMTP 服务器发送电子邮件而不会出错。
所以,总而言之,使用 System.Net.Mail 是否需要与 System.Web.Mail 不同的东西来中继电子邮件?
具有中继问题的较新版本的 web.config 包含:
我在所有测试中都使用了上面的值(首先在我的本地主机上使用 XP IIS 5.1;然后在我们 LAN 中的暂存 IIS 6.0 服务器上)并且从未遇到任何“中继”问题。
使用 System.Web.Mail 的旧版本的 web.config 不包含任何与 SMTP 相关的内容!
如果我突然需要在上面的 smtp 设置中添加用户名和密码,为什么我在开发过程中从来不需要“凭据”?
我对 SMTP 了解不多,甚至不知道该向邮件服务器管理员询问什么。我很困惑该怎么做...谢谢。
c# - System.Net.Mail - 尝试向 gmail 发送带有附件的邮件,但仅适用于小附件
我使用此类通过 gmail 帐户发送邮件:
这是我如何使用它的示例:
SendMessage方法中的最后一个参数是我要添加的附件的位置。
我尝试发送带有 400KB 附件的邮件,效果很好(甚至 900KB 也可以)。但是后来我尝试上传一个4MB的附件,没有用。尝试了 22MB -> 也没有用。
Gmail 中每封邮件的大小应限制为 25MB。我的邮件主题和正文几乎是空的,所以不要将它们视为邮件大小的一部分。为什么我有这么低的限制?
c# - 邮件标头“发件人”有时未使用 System.Net.Mail 和 .NET Framework 2.0 编码
问候。
我在这里查看了其他一些问题条目,例如这个,但没有发现与我遇到的相同问题。也许这里的一位大师过去曾经历过类似的事情。
基本上,我正在创建一个 ASP.NET 2.0 Web 应用程序,它有时需要发送电子邮件(使用 System.Net.Mail),但我遇到了奇怪且不一致的行为。
- 对于它发出的所有电子邮件,它
Encoding.UTF8
在“发件人”标头(为其MailAddress
创建对象)中使用相同的电子邮件地址、显示名称和编码 ( )。显示名称始终是一个单词,其中包含一个非 ASCII 字符。 - 每种类型的消息都有自己的方法生成
MailAddress
和MailAddressCollection
对象,然后它们调用带有参数的公共方法,例如 from、to、subject、body(这反过来又使用MailMessage
对象和SmtpClient
对象实际传输消息)。 - 大多数消息类型都是正确生成的,带有 base64 和 utf-8 编码的标头(包括“From”)。
- 然而,对于一种特定类型的消息,除“From”之外的所有字段都被正确编码。在这些邮件中,From 字段的显示名称根本没有编码,导致非 ASCII 字符显示为一个奇怪的符号,并且邮件网关抱怨编码错误。
以下是正确编码的 From 字段的示例:
来自:=?utf-8?B?QnJ1a2Vyc8O4a25hZA==?= <munged@munged.tld>
这是一个根本没有编码的 From 字段的示例:
来自:“Brukers�knad”<munged@munged.tld>
顺便说一下,非 ASCII 字符应该是“ø”。
这是MailAddress
为 From 创建对象的代码行(对于该字段编码失败的消息类型:
同样,这里有一行代码(对于相同类型的消息)MailAddress
为 To 创建对象(唯一的区别是它使用 a MailAddressCollection
):
最后但并非最不重要的一点是,这是MailAddress
为 From 为所有字段都正确编码的消息类型创建对象的行(它与上面的相同!):
主题始终以相同的方式进行编码(Encoding.UTF8
),生成MailMessage
对象和编码主体的方法始终相同(所有消息都调用通用方法)。而且,正确编码的标头始终在所有消息中进行 base64 编码(不可引用打印)。