用于在 grails 应用程序中获取电子邮件的插件
Plugin for email fetching in a grails application
我正在使用 grails 2.x。我正在寻找插件或任何建议。我需要涵盖从电子邮件提供商(例如 gmail 等)获取电子邮件的功能。
获取邮件后,如果我知道发件人的电子邮件地址,我会查看我的数据库。如果是,我将电子邮件保存在我的数据库中。如果没有请跳过留言。
到目前为止,我只找到了用于发送电子邮件的插件,而不是用于获取电子邮件的插件。
是否有任何代码(插件或纯 java 代码)我可以重新用于此请求?
可能没有邮件阅读插件(至少我没找到)。因此,我建议直接使用 JavaMail API。访问POP3邮箱的例子可以看here.
文档位于 here。
没有任何插件可用,但使用 JavaMail 非常简单。这是从 POP3 服务器的收件箱中获取邮件的快速示例:
import javax.mail.*
import javax.mail.internet.*
String popHost = "mail.wherever.com"
String popUsername ="someone@wherever.com"
String popPassword = "password123"
Properties properties = new Properties()
properties.put("mail.pop3.host", popHost)
properties.put("mail.pop3.port", "995")
properties.put("mail.pop3.starttls.enable", "true")
Session emailSession = Session.getDefaultInstance(properties)
// create the POP3 store object and connect with the pop server
Store store = emailSession.getStore("pop3s")
store.connect(popHost, popUsername, popPassword)
// create the folder object and open it
Folder emailFolder = store.getFolder("INBOX")
emailFolder.open(Folder.READ_WRITE)
// retrieve the messages from the folder in an array
Message[] messages = emailFolder.getMessages()
log.debug("${messages.length} messages found to process")
messages.each { message ->
log.debug("Processing e-mail message")
log.debug("Subject: " + message.getSubject())
log.debug("From: " + message.getFrom()[0])
}
这只是一个简单的示例,可能包含拼写错误等,因为我是随手写的。假设您正在使用 Groovy 并且在 Grails 服务中。
注意:此示例假定使用 SSL 和端口 995。这适用于 gmail 等提供商,但并非全部。
我正在使用 grails 2.x。我正在寻找插件或任何建议。我需要涵盖从电子邮件提供商(例如 gmail 等)获取电子邮件的功能。 获取邮件后,如果我知道发件人的电子邮件地址,我会查看我的数据库。如果是,我将电子邮件保存在我的数据库中。如果没有请跳过留言。
到目前为止,我只找到了用于发送电子邮件的插件,而不是用于获取电子邮件的插件。
是否有任何代码(插件或纯 java 代码)我可以重新用于此请求?
可能没有邮件阅读插件(至少我没找到)。因此,我建议直接使用 JavaMail API。访问POP3邮箱的例子可以看here.
文档位于 here。
没有任何插件可用,但使用 JavaMail 非常简单。这是从 POP3 服务器的收件箱中获取邮件的快速示例:
import javax.mail.*
import javax.mail.internet.*
String popHost = "mail.wherever.com"
String popUsername ="someone@wherever.com"
String popPassword = "password123"
Properties properties = new Properties()
properties.put("mail.pop3.host", popHost)
properties.put("mail.pop3.port", "995")
properties.put("mail.pop3.starttls.enable", "true")
Session emailSession = Session.getDefaultInstance(properties)
// create the POP3 store object and connect with the pop server
Store store = emailSession.getStore("pop3s")
store.connect(popHost, popUsername, popPassword)
// create the folder object and open it
Folder emailFolder = store.getFolder("INBOX")
emailFolder.open(Folder.READ_WRITE)
// retrieve the messages from the folder in an array
Message[] messages = emailFolder.getMessages()
log.debug("${messages.length} messages found to process")
messages.each { message ->
log.debug("Processing e-mail message")
log.debug("Subject: " + message.getSubject())
log.debug("From: " + message.getFrom()[0])
}
这只是一个简单的示例,可能包含拼写错误等,因为我是随手写的。假设您正在使用 Groovy 并且在 Grails 服务中。
注意:此示例假定使用 SSL 和端口 995。这适用于 gmail 等提供商,但并非全部。