0

通常,当您发送电子邮件(使用 Thunderbird 或 Outlook)时,您不会直接发送。
示例:我有一个 gmail 地址,我想向 myopera 地址发送一封电子邮件。该过程将是:

用户->gmail 服务器(gmail-smtp-in.l.google.com)->myopera 服务器(in1.smtp.messagingengine.com)-> 最终用户将使用 pop/imap 下载它的电子邮件。
不便之处之一是大小:假设您有 50Mb 的附件:myopera 的限制是 60MB;但是gmail的限制是25MB,所以邮件会被拒绝,而如果直接发送到myopera则会被接受。

但是我用telnet看到,可以直接用 SMTP 命令发送邮件。

我想编写一个仅限客户端的 Web 应用程序,它将邮件转换为一组 SMTP 命令以进行发送。我应该很基础,不支持加密

我不知道如何从客户端创建 TCP 连接,所以,这是我的问题:库是否已经存在?如果没有,我应该使用什么?我读过 WebSockets 的存在,但 Ajax 会更普遍。

此外,我看到的大多数 WebSocket 的实际实现在我最新版本的网络浏览器中都不起作用,尽管它们“支持它”。还有来自 W3c 的原始 Socket API(我不知道实际支持它的 Web 浏览器)。
所以,我不想避免声明不可能在原始 TCP/UDP 会话附近创建。既然有可能,我无法想象没有人创建一种用于处理协议的库

4

2 回答 2

1

你应该采取替代路线。

如果我有这个问题,我仍然会使用某种服务器端组件,只是让服务器联系直接接收邮件服务器。

给定电子邮件:“someuser@somedomain.tld”,您可以在“somedomain.tld”上进行 DNS MX 记录查找并找到接收邮件服务器说“mail.somedomain.tld”,然后您可以告诉您的邮件发送组件发送将电子邮件直接发送到“mail.somedomain.tld”,这样无论邮件是否通过,您都会立即获得反馈。

于 2013-11-01T07:35:45.297 回答
0

对于 Objective-C,您可以使用https://github.com/jetseven/skpsmtpmessage

通过查看源代码,您可以了解 SMTP 的工作原理。

于 2013-11-01T07:01:43.320 回答