问题标签 [smtpclient]

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 回答
1841 浏览

asp.net - 网站 (asp.net) 通过远程邮件服务器发送电子邮件,而不是最终进入垃圾邮件文件夹

所以,设置是这样的,两台独立的服务器......

Web 服务器,有 IIS7,MS SMTP

邮件服务器有 MailEnable

在 Web 服务器上,我通过邮件服务器从 ASP.Net 应用程序发送一封电子邮件,它被标记为垃圾邮件

如果我通过邮件服务器发送一封电子邮件,只是从一个普通的邮件客户端,它不会被标记为垃圾邮件。

我确定这是一个设置问题,但我可能做错了什么?

网络配置:

asp.net,只是一个普通的 SmtpClient 发送:

一种随机的直觉认为它可能是通过本地 SMTP 服务器发送,然后发送到 MailEnable,这给了它奇怪的标题......不过只是一个想法

标头包含以下行: Received-SPF: softfail(google.com:过渡网站域的最佳猜测记录@mydomain.co.uk 未将未知指定为允许的发件人)

我不知道这意味着什么(这部分看起来很可疑)

0 投票
2 回答
1065 浏览

.net - 发送电子邮件时内存泄漏

我有一个 Windows 服务,它被配置为按预定义的时间表发送电子邮件。该计划与 System.Timers.Timer 一起使用,每次 Timer_Elapsed 被引发时,我都会调用 Timer.Stop(),发送电子邮件(每次大约 1500 封电子邮件),计算下一个滴答声将被引发的时间量并启动计时器(调用 Timer.Start() 方法)。问题是当计时器结束并且进程开始发送电子邮件时,正在使用的内存增加但在完成后不会减少。当我在“非定时”应用程序中调用该函数时,已使用的内存在完成发送过程后被释放。谁能帮我理解为什么会这样?也许与计时器中使用的线程有关?

提前致谢。

0 投票
6 回答
5051 浏览

c# - 用于发送电子邮件的 C# Windows 服务中的内存泄漏

这些天这似乎是一个非常流行的问题/问题,但我似乎无法找到问题的解决方案。

我在 C# 中创建了一个用于发送电子邮件的简单 Windows 服务。该应用程序运行良好,除了它的内存使用量。该应用程序的前端是基于 Web 的,服务​​由在目录中创建的文本文件排队。读取文本文件后,该服务从 MS SQL db 收集时事通讯信息和电子邮件地址,并开始每 4 秒发送 1 封电子邮件。在通过任务管理器查看服务运行时,您可以看到 CPU 使用率每 4 秒上升一次,但立即回落。另一方面,内存似乎不是每封电子邮件,而是每 3-4 封电子邮件增加 50-75k。这将继续增加,直到所有电子邮件都发送完毕。我刚刚发出了大约。2100 封电子邮件,内存使用量高达 100MB。我注意到的另一件事是,在发送完所有电子邮件后,在我重新启动服务之前,内存使用量将保持在这个总数。服务空闲时,内存运行在 6500k 左右。任何人对我如何在邮件完成后降低和处理内存使用有任何建议吗?我的代码如下。任何帮助将不胜感激..

0 投票
2 回答
1248 浏览

c# - 我如何知道 smtp 服务器是否已发送我的电子邮件?

假设我使用 smtpclient 将我的电子邮件提交到我的本地 smtp 服务器。我如何知道电子邮件是否已实际发送?

0 投票
2 回答
791 浏览

.net - 为什么 MailMessage 从 Windows 窗体应用程序发送到任何地址,而不是从 ASP.NET 应用程序,当两者都使用相同的 SMTP 服务器时?

从 ASP.NET Web 应用程序通过 SMTP 服务器发送电子邮件时,我遇到了一个神秘的(对我而言)错误。我收到著名的错误“无法转发 xxx@yyy.zzz”。对我来说神秘的是,当我将发送电子邮件的完全相同的代码剪切并粘贴到一个普通的 .NET Windows 窗体应用程序中时,用这个应用程序发送电子邮件,一切正常。这让我觉得问题可能是 ASP.NET 应用程序作为 NETWORK SERVICE 运行,而 Windows 窗体应用程序在域用户帐户上运行,但事实证明我有另一个 ASP.NET 应用程序通过相同的发送电子邮件SMTP 服务器在同一 IIS 的 NETWORK SERVER 下运行,并且此应用程序不会遇到此问题。

我进一步尝试通过 SMTP 服务器手动发送电子邮件,方法是在端口 25 上远程登录 SMTP 服务器并手动运行 SMTP 协议,一切正常。SMTP 服务器未配置任何类型的身份验证或 SSL。

另一个神秘的事实是 ASP.NET 应用程序可以将电子邮件从同一域内的地址发送到同一域内的电子邮件地址,但不能发送到域外的任何地址。但是使用完全相同的代码的 Windows 窗体应用程序可以从任何地址向域内和域外的任何地址发送电子邮件。

所以总结一下:

  • ASP.NET 应用程序可以将电子邮件从域内的地址发送到域内的地址,但不能发送到域外的地址。
  • 在同一台计算机上运行相同代码的 Windows 窗体应用程序可以将电子邮件从任何地址发送到任何地址。
  • 在同一帐户(网络服务)下运行的同一 IIS 上的另一个 ASP.NET 应用程序可以使用同一 SMTP 服务器从任何地址向任何地址发送电子邮件。
  • SMTP 服务器上没有配置身份验证。
  • ASP.NET 应用程序和 Windows 窗体应用程序都使用 System.Net.Mail.SmtpClient 类来发送 System.Net.Mail.MailMessage。

发送电子邮件消息的代码是:

据我了解,这应该是配置问题而不是编码问题。有谁知道问题可能是什么,也许如何解决?谢谢!

0 投票
4 回答
589 浏览

c# - 为什么 SmtpClient 在 XP/Vista/Win7 上的行为会有所不同

我正在使用以下代码,它似乎每次在 Vista/Win7 上都能完美运行。

但是在 Windows XP 上我得到:

我已经检查并完全禁用了 Windows 防火墙...

0 投票
3 回答
18715 浏览

c# - 让 SmtpClient 使用自签名 SSL 证书

我正在尝试使用 System.Net.Mail.SmtpClient 类通过我公司的电子邮件服务器中继电子邮件。与邮件服务器的所有 SMTP 连接都必须是 SSL,并且它使用自签名证书。这对 Outlook 来说很好,您可以在警告对话框中单击“确定”,但有没有人知道让 SmtpClient 接受自签名证书的方法?

我计划在 Windows Azure 平台上使用此应用程序,因此我将无法将自签名证书安装为受信任的根。

0 投票
3 回答
3321 浏览

c# - 如何从 MS Exchange 发送接收邮件

如何从自定义 c# 应用程序创建和发送/接收来自 MS Exchange 的邮件?

我假设标准框架邮件类无法直接实现这一点。

如果我可以说这需要与 MS Exchange 2003 和 2007 一起使用,我有什么选择?

理想情况下,我不想购买第三方组件,所以如果使用 c# 可以做到这一点,那么创建一个可以发送新邮件或将邮件接收到自定义应用程序的库的步骤是什么。

C# 应用程序将是本地的,与 Exchange 服务器位于同一网络中。

0 投票
5 回答
1988 浏览

.net - 测试 SMTP 的替代方案?

我正在尝试开发一个发送电子邮件的应用程序,我们的内部网络被锁定得很紧,所以我无法使用我们的内部邮件服务器进行中继。

有没有人用过 no-ip.com 之类的东西?还有其他选择吗?

0 投票
8 回答
111835 浏览

c# - smtpclient "发送邮件失败"

这是我的代码

这个循环发送超过 60,000 封电子邮件。但我的问题是,我在某些电子邮件中收到“发送邮件失败”,有时是 5000 次,而其余时间则少于其他邮件。我已经检查了所有这些错误电子邮件是否具有有效的电子邮件地址。不知道是什么问题。我真的需要帮助。

编辑:这是我的异常跟踪

错误 - 发送邮件失败。;内部 Ex - System.IO.IOException:无法从传输连接读取数据:net_io_connectionclosed。在 System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(Byte[] buffer, Int32 offset, Int32 read, Boolean readLine) at System.Net.Mail.SmtpReplyReaderFactory.ReadLines(SmtpReplyReader caller, Boolean oneLine) at System.Net.Mail.SmtpReplyReaderFactory .ReadLine(SmtpReplyReader caller) at System.Net.Mail.CheckCommand.Send(SmtpConnection conn, String& response) at System.Net.Mail.MailCommand.Send(SmtpConnection conn, Byte[] command, String from) 在 System.Net。 Mail.SmtpTransport.SendMail(MailAddress 发件人、MailAddressCollection 收件人、String deliveryNotify、SmtpFailedRecipientException& 异常)