2

そのため、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">

CFPOP を使用して GMail でメールをチェックする

4

3 に答える 3

3

特に POP を使用する必要がある理由はありますか? CF9 を使用している場合は、gmail で動作するはずのCFIMAPを使用できます。ドキュメントでは例として 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>
于 2012-07-10T14:36:03.717 に答える
2

これは機能しますが、POP3 の GLOBAL SSL ソケットファクトリーが設定されることを知っておく必要があります。これはサーバー全体に影響を与えると思います-これはあなたのプロセスとは無関係かもしれませんが、注目に値します.

于 2012-07-10T14:38:16.157 に答える
1

Riaforge でオープンソースの cfgmail プロジェクトを使用できる可能性があります。

http://cfgmail.riaforge.org/

CF 7 以降の両方で動作します。

于 2012-07-10T15:16:44.077 に答える