我正在尝试将传入的电子邮件添加到我的Web应用程序中.它建立在CodeIgniter和PHP之上,据我所知,我没有找到任何CI库来执行此操作.
我想要做的是有一个控制器,通过POP3或IMAP连接到我的邮箱,并检索邮件,解析它然后从服务器中删除它.
来自postfix/etc的管道邮件不适用于我的服务器设置.
任何建议都会非常有帮助.
谢谢!
我使用以下代码从我的.NET应用程序发送电子邮件,在这里我添加了自定义标题X-Company.当收到电子邮件时,我会正确地获得此自定义标题,但每当我回复/转发此邮件时,自定义标题都不会回来.
MailMessage message = new MailMessage(From, To);
message.Headers.Add("X-Company","xyz");
message.Body = emailMessage.ToString();
message.Subject = Subject;
message.IsBodyHtml = true;
smtp.Send(message);
Run Code Online (Sandbox Code Playgroud) 我正在获得一些基本的知识电子邮件协议.似乎IMAP比POP3更强大.那么,为什么POP3协议存活下来?它仍然受到GMail等流行电子邮件服务的支持?
谢谢.
poplib或imaplib似乎都没有提供代理支持,尽管我的google-fu尝试,但我找不到有关它的更多信息.
我正在使用python从各种支持imap/pop的服务器获取电子邮件,并且需要能够通过代理来完成.
理想情况下,我希望能够直接在python中完成它,但如果我找不到更好的东西,使用包装器(外部程序/脚本,基于OSX)强制所有流量通过代理可能就足够了.
有人能帮我一把吗?我无法想象我是唯一需要通过python中的代理获取电子邮件的人...
**编辑标题编辑删除HTTP,因为当我累了我不应该这么快打字,对不起那些家伙**
我打算使用的代理允许除了http之外的袜子.
Pop或Imap通过http工作没有多大意义(有状态对无国籍)但我的理解是袜子可以让我做我想做的事.
到目前为止,达到我想要的唯一方法似乎是对imaplib进行肮脏的黑客攻击......如果可以的话,宁愿避免使用它.
将端口587用于所有客户端到MTA通信的趋势越来越明显.它位于标准跟踪RFC:http://www.ietf.org/rfc/rfc2476.txt
我的问题是"为什么?".为什么有两个SMTP服务器实例在同一台服务器上运行,如果它们都做同样的事情?它提供了什么安全功能,除了给我两个作为管理员进行故障排除的事情.
这似乎是不必要的复杂性,除非ISP阻止端口25,否则不需要.即使这样,如果ISP阻止端口25以防止垃圾邮件,它只是意味着它只需要更多的时间,直到端口587也被阻止,我们将不得不完全使用不同的端口.
看起来我们正在为自己创造更多的工作,而不是解决问题并开始验证SMTP
PHP IMAP库没有内置的方法来更改用于安全pop3连接的imap_timeout函数.我正在寻找构建这个功能,所以我可以为安全pop3服务器的连接设置超时为1秒,但我只是不确定我将在PHP功能中覆盖php.ini命令的地方开始学习.有任何想法吗?
imap_timeout(1,)适用于pop3连接,但显然不适用于pop3s(ssl,端口995) 连接,其中默认套接字超时仍然适用.这适用于php 4.3.10,未在其他版本上测试过.
我们查看了源代码,了解这个函数实际上做了什么以及如何使用它.该函数会覆盖php.ini文件中的default_socket_timeout设置
您可以通过调用以下函数来检索每种超时类型的当前超时长度:
imap_timeout(timeout_type); 或imap_timeout(timeout_type,-1);
您可以通过将超时值设置为秒数来设置任何超时类型的超时长度.
imap_timeout(timeout_type,);
超时类型如下:
1:打开2:读取3:写入4:关闭
似乎没有实现关闭类型.
资料来源:https: //students.kiv.zcu.cz/doc/php5/manual/cs/function.imap-timeout.php.html
如何使用Zend_Mail(POP3)获取邮件源(标题,正文,边界 - 所有这些作为纯文本).
它默认返回已解析的部分,我需要原始消息源.
我目前正在从事一个C++项目,该项目必须能够像gmail POP3帐户一样阅读电子邮件.同样重要的是,我需要下载邮件及其正文的附件(是编码base64?).事实是每个人都建议使用libCurl来完成这项任务,但是他们网站上的代码示例不起作用.我在Libcurl网站上看到了这个例子:
#include <stdio.h>
#include <curl/curl.h>
int main(void)
{
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl)
{
/* Set username and password */
curl_easy_setopt(curl, CURLOPT_USERPWD, "user:password");
/* This will only fetch the message with ID "1" of the given mailbox */
curl_easy_setopt(curl, CURLOPT_URL, "pop3s://user@pop.example.com/1");
/* Perform the request, res will get the return code */
res = curl_easy_perform(curl);
/* Check for errors */
if(res != CURLE_OK)
fprintf(stderr, "curl_easy_perform() failed: %s\n",
curl_easy_strerror(res));
/* always cleanup */
curl_easy_cleanup(curl);
} …Run Code Online (Sandbox Code Playgroud) 我已经为我的 gmail 启用了 POP3 设置。我可以在 Java 应用程序中使用我的密码连接到 POP3 商店。我的收件箱中有大约 10k 条消息。
当我调用getMessages收件箱文件夹时,它只返回 280 条旧邮件。当我getMessages循环调用时,每次调用都会返回相同的消息。我也尝试过,getMessages(start, end)但它不返回 280 以外的其他消息。
我如何检索其他消息?