通常,当您发送电子邮件(使用Thunderbird或Outlook)时,您不会直接发送电子邮件 示例:我有一个Gmail地址,我想发送一封电子邮件到myopera地址。这个过程将是:
user-> 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的大部分实际实现都不适用于我最近的Web浏览器版本,尽管他们“支持它”。还有来自W3c的原始Socket API(我不知道实际支持它的Web浏览器)。
所以,我不想避免声明告诉它不可能在原始TCP附近创建/ UDP会话。既然有可能,我无法想象没有人创建一种处理协议的库
答案 0 :(得分:1)
你应该选择另一条路线。
如果我有这个问题,我仍会使用某种服务器端组件,只需将服务器联系直接接收邮件服务器。
鉴于电子邮件:“someuser@somedomain.tld”您可以在“somedomain.tld”上执行DNS MX记录查找并找到接收邮件服务器说“mail.somedomain.tld”,然后您可以告诉您的邮件发送组件将电子邮件直接发送到“mail.somedomain.tld”,这样您就可以立即获得有关邮件通过的反馈。
答案 1 :(得分:0)
对于Objective-C,您可以使用https://github.com/jetseven/skpsmtpmessage
通过查看源代码,您可以了解SMTP的工作原理。