- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的开发机器(Win 7、VS 2010)上成功运行了这段代码
SmtpClient client = new SmtpClient("servername.domain.tld");
client.Port = 25;
client.Credentials = new NetworkCredential("username", "password");
client.EnableSsl = true;
client.Send(new MailMessage("destination@domain.tld", "sender@domain.tld", "subject", "body"));
我的 smtp 服务器是运行在启用了 TLS 和 SmtpAuth 的 debian 上的 Exim 4.7。它不支持中继,但如果用户通过身份验证,他可以向任何人发送邮件。
当我在我们的 Win 2008 R2 生产服务器上运行上面的代码时,我收到了这个错误消息:
System.Net.Mail.SmtpException: Server does not support secure connections.
当我用谷歌搜索时,我阅读了关于连接到端口 465 等的分配,但这不是传统的 SMTP over SSL aka。 SSMTP/SMTPS。您可以在此处阅读更多信息:http://www.exim.org/exim-html-current/doc/html/spec_html/ch39.html
所以我能理解的端口 25 是正确的,它也可以在我的开发机器上使用端口 25、TLS 等工作。
当我用谷歌搜索这个时出现的另一件事是尝试
client.EnableSsl = false;
当我这样做时,出现以下错误:
System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: relay not permitted
这是正确的,因为如果客户端不进行身份验证,我们就不会中继邮件。
这是来自服务器的失败 session 的 smtp 服务器输出:
2011-10-21 11:23:43 [2022] SMTP connection from [source.ip]:51712 I=[smtp.ip]:25 (TCP/IP connection count = 1)2011-10-21 11:23:48 [2072] ident connection to source.ip timed out2011-10-21 11:23:48 [2072] SMTP connection from servername.domain.tld (servername) [source.ip]:51712 I=[smtp.ip]:25 lost2011-10-21 11:23:48 [2072] no MAIL in SMTP connection from servername.domain.tld (servername) [source.ip]:51712 I=[smtp.ip]:25 D=0s C=EHLO
这是来 self 的开发机器的工作 session 的 smtp 服务器输出:
2011-10-21 12:04:05 [2022] SMTP connection from [source.ip]:63294 I=[smtp.ip]:25 (TCP/IP connection count = 1)2011-10-21 12:04:10 [2077] ident connection to source.ip timed out2011-10-21 12:04:11 [2077] 1RHBxT-0000XV-7P for to@domain.tld2011-10-21 12:04:11 [2079] cwd=/var/spool/exim4 3 args: /usr/sbin/exim4 -Mc 1RHBxT-0000XV-7P2011-10-21 12:04:12 [2079] 1RHBxT-0000XV-7P => to@domain.tld F= P= R=dnslookup T=remote_smtp S=1058 H=mx2.hotmail.com [65.55.37.104]:25 C="250 Queued mail for delivery" QT=1s DT=1s2011-10-21 12:04:12 [2079] 1RHBxT-0000XV-7P Completed QT=1s
有人知道我可以做些什么来完成这项工作吗?
谢谢你了
最佳答案
至于您的 Windows 服务器不允许出站 SSL,您将需要处理您的防火墙配置。如果您暂时禁用防火墙,该错误应该会消失。
SSL 不会改变您的身份验证方式,它只会加密连接。禁用 SSL 后,您成功与 SMTP 服务器对话,但因凭据无效而被拒绝。
至于服务器拒绝您的凭据的原因,这可能是由许多问题引起的。它可以像用户名/密码不正确一样简单,也可以像服务器只允许来自一部分机器的连接一样复杂。
关于c# - 在带有 TLS 和 SmtpAuth 的 .Net 4/C# 中使用 System.Net.Mail.SmtpClient 发送电子邮件,在本地工作但不在生产服务器上工作(win 2008 r2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7847546/
我正在尝试从本地主机发送邮件.. 在执行此操作时,我有来自不同站点的方法来发送邮件..但是在执行此操作时,我对 smtpClient.send() 感到困惑和smtpClient.SendAsync(
我正在从事一个项目(不幸的是)需要允许的最大框架是 .NET 4。 在这个项目中,我尝试使用 SendAsync() 异步发送电子邮件,但由于某种原因,它发送失败(或者更确切地说,它只是不发送)。简单
考虑到 SmtpClient 有一个我没有使用的 SendAsync 方法,因此假设 StmpClient.Send 是同步的是否安全?我用它来发送带有临时文件附件的电子邮件,想知道我是否可以在之后立
我在多台(不是说:所有)Windows 8.x 机器上面临以下问题: 运行这段代码: var message = new MailMessage(); message.From = new MailA
如标题所述,将“SmtpClient::EnableSsl”设置为 true 的“System::Net::Mail::SmtpClient”需要哪些端口? documentation on the
如果我已将一些电子邮件排队等待通过 System.Net.Mail.SMTPClent 发送,我在哪里可以找到这封邮件?对于 Windows SMTP 客户端,它位于 C:\inetpub\mailr
.NET SmtpClient 对象中的超时默认值是多少?它是什么时间单位(秒、毫秒等)? 最佳答案 默认值为 100,000(100 秒)。 http://msdn.microsoft.com/en
我尝试使用 SmtpClient.Send() 从 c# 发送电子邮件,但它总是进入垃圾箱。如果我从 Outlook 发送它,它工作正常。无论如何要解决这个问题?有人告诉我修改电子邮件标题,但我不知道
我正在尝试使用 C# 创建一个小型应用程序来发送电子邮件,但即使使用端口 587 (GMail) TLS 或 465 (GMail SSL) 我也无法让它工作。我不确定是什么导致了我的问题,我应该编辑
当我使用 SmtpClient 发送电子邮件时,我发现了一个奇怪的行为: 送货时间太长。 已送达两次。 SmtpClient client = new SmtpClient(); client.Hos
我正在使用以下代码发送电子邮件: using (var mailMessage = new MailMessage("from@example.com", "to@example.com")) {
我遇到了一个让我抓狂的问题!!!我有一个用于发送电子邮件的小型 Delphi 7 应用程序(使用 Indy 9 组件套件)并且一切正常。我正在尝试开发一个执行相同操作的 C# 应用程序 (Visual
我的 Smtpclient 正在使用以下设置 SmtpClient client = new SmtpClient(); client.Host = server; client.UseDefault
我的问题是:我需要发现一个 IP 和端口是否正在运行 SMTP 服务。为此,我使用 SMTPClient 尝试打开连接。我正在使用下面的代码。 private static boolean v
我有一个指向我公司邮件服务器的 SmtpClient。我能够成功地向/从该域上的地址发送电子邮件。 但是,我需要为应用程序的用户重置密码和通知。这些用户使用他们自己的电子邮件地址(多个不同的域)注册。
SmtpClient 发送方法返回无效。有什么办法可以得到服务器响应吗?我是否只是假设它是成功的,除非它抛出异常? 我指的是类... http://msdn.microsoft.com/en-us/l
我正在创建每 5 分钟发送一批电子邮件的 Windows 服务。 我想每 5 分钟发送 10-100 封电子邮件。这是极端情况。每 5 分钟发送一次批处理,通常最多包含 10 封电子邮件。 我正在使用
我已经设置了 SmtpClient 类的超时属性,但它似乎不起作用,当我给它一个 1 毫秒的值时,执行代码时超时实际上是 15 秒。我从 msdn 中获取的代码. string to = "jane@
我正在从 Java 向我们的客户发送电子邮件。而且我们的 SMTP 没有任何身份验证。因此,我在 Java 中使用以下代码无需身份验证即可发送: Properties props = new Prop
我有一个 C# 服务 那个连续运行 使用用户凭据(即不是本地系统 - 虽然我想更改但我无法更改)。在大多数情况下,该服务似乎运行正常,但它经常爆炸和 无故重启 (服务管理器设置为在崩溃时重新启动服务)
我是一名优秀的程序员,十分优秀!