问题标签 [smtp]

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 投票
6 回答
6174 浏览

.net - 如何使用预先存在的帐户从程序_without_发送电子邮件?

我希望我的程序能够通过电子邮件向我发送错误报告。如何在不硬编码用户名/密码/SMTP 服务器/等的情况下做到这一点。进入代码?(这样做将允许用户反编译程序并接管此电子邮件帐户。)

有人告诉我,您可以通过远程登录到端口 25 来做一些事情,但我对细节非常模糊。Google 上的大多数代码片段都假定您有一个预先存在的帐户,但在这种情况下不起作用。

我正在使用 .NET v3.5(尤其是 C#),但我想这些想法在大多数语言中都足够相似。只要您意识到我正在为离线应用程序执行此操作,并且不向我提供 PHP 代码或其他东西,我们应该没问题。

0 投票
22 回答
617805 浏览

c# - 通过 Gmail 在 .NET 中发送电子邮件

我没有依靠我的主机发送电子邮件,而是考虑使用我的Gmail帐户发送电子邮件。这些电子邮件是发给我在节目中演奏的乐队的个性化电子邮件。

有可能做到吗?

0 投票
7 回答
3545 浏览

email - 发送电子邮件涉及哪些协议和服务器,步骤是什么?

在过去的几周里,我一直在尝试了解电子邮件的工作原理。我非常了解客户端使用 POP 从服务器接收邮件的过程。我也了解客户端计算机如何使用 SMTP 请求 SMTP 服务器发送消息。但是,我仍然缺少一些东西......

据我了解,外发邮件必须经过三趟:

  1. 客户端(使用 Thunderbird 的 Gmail 用户)到服务器 (Gmail)
  2. 第一台服务器 (Gmail) 到第二台服务器 (Hotmail)
  3. 第二个服务器(Hotmail)到第二个客户端(使用 OS X Mail 的 hotmail 用户)

据我了解,第一步使用 SMTP 进行客户端通信。客户端以某种方式对自己进行身份验证(例如,使用 USER 和 PASS),然后向 gmail 服务器发送一条消息。

但是,我不明白 gmail 服务器如何将邮件传输到 hotmail 服务器。

对于第三步,我很确定,hotmail 服务器使用 POP 将消息发送到 hotmail 客户端(再次使用身份验证)。

所以,最大的问题是:当我点击发送邮件将我的邮件发送到我的 gmail 服务器时,我的 gmail 服务器如何将邮件转发到一个 hotmail 服务器,以便我的朋友可以收到它?

非常感谢!

~杰森


谢谢,到目前为止这很有帮助。

据我了解,第一个客户端使用 SMTP 将消息发送到第一个服务器,通常发送到端口 25 上的地址,例如 smtp.mail.SOMESERVER.com(通常)。

然后,SOMESERVER 再次使用 SMTP 将消息发送到端口 25 上的 RECEIVESERVER.com(不是 smtp.mail.RECEIVESERVER.com 或任何花哨的东西)。

然后,当收件人使用 POP 向 RECEIVESERVER 询问其邮件时,他/她收到了邮件……对吗?

再次感谢(尤其是对 jan 博士),

杰森

0 投票
5 回答
13466 浏览

php - php mail() 不工作 Windows 2003,IIS SMTP

我遇到了这个问题:

从这个脚本:

服务器上 php.ini 的部分:

(注意“服务器”和“域”准确指实际的服务器和域名)

在 IIS 中,SMTP 正在运行。在"Access"选项卡,"Relay"按钮下,选择哪些计算机可以通过此虚拟服务器进行中继设置为checkbox "only the list below"并且在列表上是"127.0.0.1(xxx.xxx.xxx.xxx)" (x's representing actual server IP address).

服务器正在运行Windows Server 2003 Service Pack 2,截至 2008 年 9 月 1 日下午 5 点已完全修补。我假设它正在运行IIS7(如何检查?)。

有任何想法吗?

作为对Espo的回应:这台机器托管在数据中心。我们不想使用 gmail 帐户(正在这样做,想摆脱那个)。Windows server 2003 带有自己的 SMTP 服务器。

更新:根据 Yaakov Ellis 的建议,我放弃了所有中继限制并将服务器 IP 添加到允许列表中(使用提供的反向 DNS 按钮)并且事情开始工作了。

感谢 Espo 和 Yaakov 帮助我。

0 投票
4 回答
16645 浏览

c# - 如何使用 System.Net.Mail 设置 SMTP 信封 MAIL FROM?

当您使用 C# 和 System.Net.Mail 命名空间发送电子邮件时,您可以在 MailMessage 对象上设置“发件人”和“发件人”属性,但这些都不允许您创建 MAIL FROM 和发件人地址进入彼此不同的DATA部分。MAIL FROM 设置为“From”属性值,如果设置“Sender”,它只会在 DATA 部分添加另一个标题字段。这导致“代表 A@B.COM 来自 X@Y.COM”,这不是您想要的。我错过了什么吗?

用例控制代表其他人发送的新闻通讯等的 NDR 目的地。

我目前正在使用aspNetEmail而不是 System.Net.Mail,因为它允许我正确执行此操作(就像大多数其他 SMTP 库一样)。对于 aspNetEmail,这是使用 EmailMessage.ReversePath 属性完成的。

0 投票
4 回答
5242 浏览

.net - SMTP 邮件超时问题

当我为我的 Web 应用程序创建用户时,会使用自动生成的密码向用户发送一封 SMTP 电子邮件(使用 ASP.NET 的 SmtpClient)。但是,有时我注意到它超时并且新用户根本不会收到带有密码的电子邮件。

好的,所以我将显示一条消息,指示邮件未通过但已创建用户。

因此,系统管理员目前有 2 个选项:

  1. 重置用户的密码,并希望使用自动生成的密码发送另一封 SMTP 邮件。
  2. 删除并重新创建用户。

如果未发送 smtp,我可以回滚用户创建,但解决此问题的最佳做法是什么?

我在想我应该重试发送电子邮件 3 次,每次超时时间为 5 秒。所以 15 秒是最坏的情况。

这是要走的路吗?

0 投票
3 回答
4972 浏览

iis - 如何阻止 IIS SMTP 服务器发送退回邮件?

您如何阻止“默认 SMTP 虚拟服务器”为您没有的电子邮件地址发送退回邮件?

即,我正在使用 IIS 的 SMTP 服务器来处理我的电子邮件,如果在 mydomain.com 上发送未知电子邮件,则会将带有“未知地址”(或类似内容)的退回电子邮件发送回发件人。我希望它默默地失败。

0 投票
3 回答
1275 浏览

smtp - 如何判断我是否有开放式继电器?

我正在尝试确定我的服务器上是否有开放中继。我怎么做?

我试过http://www.abuse.net/relay.html

它报告:

嗯,乍一看,宿主似乎接受了中继的消息。这可能或可能不意味着它是一个开放的继电器。一些系统似乎接受中继邮件,但随后在内部拒绝邮件而不是传递它们,但此时您无法判断邮件是否会被中继。

我可以做哪些进一步的测试来确定服务器是否有开放中继?

0 投票
14 回答
263383 浏览

python - 使用 SMTP 从 Python 发送邮件

我正在使用以下方法使用 SMTP 从 Python 发送邮件。这是正确的使用方法还是我遗漏了一些陷阱?

0 投票
6 回答
96484 浏览

java - 如何从 Java 发送 SMTP 消息?

可能重复:
如何使用 Gmail 从 Java 应用程序发送电子邮件?

如何从 Java 发送 SMTP 消息?