使用cfpop访问CF8中的gmail

时间:2012-07-10 14:23:47

标签: coldfusion gmail coldfusion-8

所以我需要使用ColdFusion 8检查GMail帐户的电子邮件,最后我会下载附件。我用谷歌搜索,除了下面的代码,没有找到太多。让我烦恼的是,这就是我找到的全部。

这是最好的方式吗?

这是代码。我已经包含了链接,但没有更多的信息。

<cfscript>
    javaSystem = createObject( "java", "java.lang.System" );
    jProps = javaSystem.getProperties();
    jProps.setProperty( "mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory" );
    jProps.setproperty( "mail.pop3.port", 995 );
    jProps.setProperty( "mail.pop3.socketFactory.port", 995 );
</cfscript>

<cfpop action="getheaderonly" name="rsEmail" startrow="1? maxrows="50" server="pop.gmail.com" port="995" username="your@username.com.au" password="yourpassword">

Using CFPOP to check mail on GMail

3 个答案:

答案 0 :(得分:3)

您是否需要特别使用POP?如果您使用的是CF9,那么您可以使用CFIMAP,它应该与gmail一起使用。文档甚至以gmail为例。

或者,您可以直接使用javamail API:

<cfscript>
props = CreateObject("java","java.util.Properties").init();
props.setProperty("mail.store.protocol", "imaps");

sessClass = CreateObject("java","javax.mail.Session");

sess = sessClass.getDefaultInstance(props);

store = sess.getStore("imaps");
store.connect("imap.googlemail.com","you@gmail.com", "password");

folder = store.getFolder("inbox");

if(!folder.isOpen()){
          folder.open(folder.READ_WRITE)
}

messageCount = folder.getMessageCount();

dump(messageCount);

if (!IsNull(folder) && folder.isOpen()) { folder.close(true); }

if (!IsNull(store)) { store.close(); }  

</cfscript>

答案 1 :(得分:2)

这将有效但您应该知道它为POP3设置了GLOBAL SSL套接字。我相信这会产生服务器范围的影响 - 这可能与您的流程无关,但值得注意。

答案 2 :(得分:1)

您可以在Riaforge上使用opensource cfgmail项目:

http://cfgmail.riaforge.org/

它适用于CF 7及以上版本。