我正在寻找一种在C#2.0中使用Pop3阅读电子邮件的方法.目前,我正在使用CodeProject中的代码.但是,这种解决方案并不理想.最大的问题是它不支持用unicode编写的电子邮件.
我有一个Web应用程序,需要基于服务器的组件定期访问POP3电子邮箱和检索电子邮件.然后该服务需要处理涉及以下内容的电子邮件:
解决这个问题的最佳方法是什么?我真的不想从头开始编写POP3客户端,但我需要能够自定义电子邮件的处理.理想情况下,我可以插入一些组件,为我进行访问和检索,返回附件数组,正文文本,主题行等,准备好我的处理...
[更新:评论]
好的,所以我花了相当多的时间研究(主要是免费的).NET POP3库,所以我想我会简要回顾下面提到的一些以及其他一些:
在免费图书馆中,我会选择C#Mail或OpenPOP.
我看了几个商业图书馆:Chillkat,Rebex,RemObjects,JMail.net.基于公司的功能,价格和印象,我可能会选择Rebex,如果我的要求发生变化,或者我遇到C#Mail或OpenPOP的生产问题,可能会在将来使用.
如果有人需要它,这是我用C#Mail和OpenPOP启用SSL的替代SslStream构造函数:
SslStream stream = new SslStream(clientSocket.GetStream(), false,
delegate(object sender, X509Certificate cert,
X509Chain chain, SslPolicyErrors errors) { return true; });
Run Code Online (Sandbox Code Playgroud) 运行以下代码,我得到一个例外:
using (var client = new Pop3Client())
{
client.Connect(provider.ServerWithoutPort, provider.Port, true);
}
Run Code Online (Sandbox Code Playgroud)
我得到的例外情况:
The remote certificate is invalid according to the validation procedure.
at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) …Run Code Online (Sandbox Code Playgroud) 如何使用简短的Python脚本检查收件箱中未读Gmail邮件的数量?用于从文件中检索密码的加分点.
我正在尝试从POP3获取邮件(我正在使用POP3邮件服务器,我正在尝试获取邮件内容并存储到我的项目的数据库表中.),但我找不到任何PHP脚本,所有仅适用于IMAP.
你知道如何从POP3服务器获取邮件吗?
谢谢.
我正在尝试访问我的Gmail帐户并从中检索所有未读电子邮件的信息.
我在引用很多链接后编写了我的代码.我给出了一些链接供参考.
为了测试我的代码,我创建了一个Gmail帐户.所以我从Gmail收到了4封邮件.我在检查邮件数量后运行我的应用程序.这显示了正确的结果.4封未读邮件.显示所有信息(例如日期,发件人,内容,主题等)
然后我登录到我的新帐户,阅读其中一封电子邮件并重新运行我的应用程序.现在未读消息的计数应为3,但显示"未读消息数:0"
我在这里复制代码.
public class MailReader
{
Folder inbox;
// Constructor of the calss.
public MailReader() {
System.out.println("Inside MailReader()...");
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
/* Set the mail properties */
Properties props = System.getProperties();
// Set manual Properties
props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
props.setProperty("mail.pop3.socketFactory.fallback", "false");
props.setProperty("mail.pop3.port", "995");
props.setProperty("mail.pop3.socketFactory.port", "995");
props.put("mail.pop3.host", "pop.gmail.com");
try
{
/* Create the session and get the store for read the mail. */
Session session = Session.getDefaultInstance(
System.getProperties(), null);
Store store = session.getStore("pop3");
store.connect("pop.gmail.com", 995, "abc@gmail.com", …Run Code Online (Sandbox Code Playgroud) 我正在寻找一个与POP3/SMTP服务器对话的示例应用程序.而不是用BSD套接字和CFNetwork类型调用来重新发明轮子,我很好奇是否有任何开源库已经处理了大量的脏工作?我已经尝试过谷歌搜索,没有任何运气.
也许有一些东西我忽略了简化这一点.
谢谢.
我对django的电子邮件发送能力非常熟悉,但我从未见过有关它接收和处理来自用户的电子邮件的任何信息.这个功能可用吗?
一些谷歌搜索没有出现非常有希望的结果.虽然我找到了这个:在python中接收和发送电子邮件
我是否必须自己动手?如果是这样,我会比你说的更快地发布那个应用程序......不管你说什么.
谢谢,吉姆
更新:我不是要创建一个电子邮件服务器,我只需要添加一些功能,您可以将图像通过电子邮件发送到网站并将其弹出到您的帐户中.
我正在做一些涉及对电子邮件做出反应的开发,我想为此使用本地IMAP邮件服务器.
我目前使用Devnull SMTP服务器测试发送电子邮件,但这只是记录和丢弃消息,它不会用于检查传入的电子邮件/邮箱的IMAP .
我不需要/想要一个完整的服务器,只是轻量级我可以根据需要轻松启动/停止.
多平台是首选,但也可以随时为特定平台提供答案.
(基于POP3的服务器也可以用于开发用途,因为无论如何我都会支持我的代码.)
pop3 ×10
email ×3
c# ×2
python ×2
.net ×1
cocoa ×1
cocoa-touch ×1
django ×1
django-email ×1
gmail ×1
imap ×1
iphone ×1
jakarta-mail ×1
java ×1
mail-server ×1
node.js ×1
objective-c ×1
php ×1
review ×1
smtp ×1
ssl ×1
unicode ×1