[delphi-users:4390] 受信メールをトリガーにして動作するアプリ

532 views
Skip to first unread message

BioPapard

unread,
Feb 22, 2016, 11:58:04 PM2/22/16
to delphi...@freeml.com
こんにちわ!
BioPapardと申します。

インターネットで調べましたが情報を見つけることが出来なかったので、手掛かりだけでも教えて頂けないでしょうか?

delphiでandoroidアプリの開発を計画しています。

その中で、gmailを利用し、gmailにメールが届いたら、それをトリガーにして、アプリを実行したいと考えています。

gmailから、差出人、件名、本文は取得し、それをアプリに引き渡して処理したいと考えています。

いろいろインターネットで調べた結果、下記のサイトでgmilの接続方法を見つけましたが、エラーが出ます。(コードはファイルを添付しました。)
http://stackoverflow.com/questions/15359744/how-to-download-a-message-store-it-and-recreate-it-in-a-different-folder

73行目でエラーです。
res := IMAPClient.Connect;

下記に修正したら、エラーは出なくなりましたが、gmailに接続できません。
IMAPClient.Connect(res);

最後にまとめますと、教えて頂きたいことは、

1、gmailにメールが届いたら、それをトリガーにして、アプリを実行する方法
2、gmailから、差出人、件名、本文は取得する方法

以上、宜しくお願い致します。



MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
【ネスカフェドルチェグストが定期便申込でマシン代金無料!】
サイズもコンパクトでかわいいドルチェグストが
カプセル定期便申込とセットでマシン代金無料!
今なら宇治抹茶カプセル1箱プレゼントキャンペーン中
http://ad.freeml.com/cgi-bin/sa.cgi?id=n7aYF
------------------------------------------------------[freeml byGMO]--
gmail.txt

nabe

unread,
Feb 23, 2016, 12:26:28 AM2/23/16
to delphi...@freeml.com
ちょっと趣旨が違うかもしれませんが。

XMailサーバを立てて、特定のメアドの本文中のコードを判断させ
クーポンメールを自動返信する、といった類のものです。
「メールレット」ってキーワードで調べてみてください。
何らかのお役に立つかもしれません。

ノブ。


-----Original Message-----
From: post-01082161-m-nohara=eks-hoa...@post.freeml.com
[mailto:post-01082161-m-nohara=eks-hoa...@post.freeml.com] On Behalf Of
BioPapard
Sent: Tuesday, February 23, 2016 1:58 PM
To: delphi...@freeml.com
Subject: [delphi-users:4390] 受信メールをトリガーにして動作するアプリ

こんにちわ!
BioPapardと申します。

インターネットで調べましたが情報を見つけることが出来なかったので、手掛かりだ
http://ad.freeml.com/cgi-bin/sa.cgi?id=n7bql
------------------------------------------------------[freeml byGMO]--

BioPapard

unread,
Feb 23, 2016, 1:38:23 AM2/23/16
to delphi...@freeml.com
ノブさん、有り難う御座います。

メールレット調べました。メールレットでgmailをトリガーにしてアプリを起動することは出来そうです。

androidでXMailサーバを立てることが出来るのかが問題ですが...。

以上、宜しくお願い致します。


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
【ネスカフェドルチェグストが定期便申込でマシン代金無料!】
サイズもコンパクトでかわいいドルチェグストが
カプセル定期便申込とセットでマシン代金無料!
今なら宇治抹茶カプセル1箱プレゼントキャンペーン中
http://ad.freeml.com/cgi-bin/sa.cgi?id=n7bZP
------------------------------------------------------[freeml byGMO]--

hosokawa

unread,
Feb 23, 2016, 1:50:34 AM2/23/16
to delphi...@freeml.com
BioPapard さん

こんにちは。
細川です。

添付されていたソースが VCL のソースなので、正しいアドバイスになるか判らないの
ですが GMail の受信イベントは BroadcastReceiver で取得できます。
BroadcastReceiver が起動したら、そこから該当の処理を呼び出すことになるでしょう。

ただし、Delphi では AndroidManifest.xml に記述するタイプの BoradcastReceiver
は作れないため、Java で BroadcastReceiver を作成し jar 化して組み込む事になり
ます。

もしも、アプリが起動しているときだけ情報を取得できれば良いのであれば、下記の山
本さんのブログが役に立つと思います。
http://www.gesource.jp/weblog/?p=7269

なお、肝心の IntentFilter は

<receiver android:name=".GMailReceiver" > // ここに作った BroadcastReceiver を指定する
<intent-filter>
<action android:name="com.android.mail.action.update_notification" />
<data android:mimeType="application/gmail-ls" />
</intent-filter>
</receiver>

のようになります。
これで、GMail がメールを受信したときに指定した BroadcastReceiver が起動します。


Regards,
HOSOKAWA Jun / embarcadero MVP for Delphi
[S/G] SERIALGAMES Inc.
TEL: 03-5812-0980
FAX: 03-5812-0970

---------------------------------------------------------------
このメールには、本来の宛先の方のみに限定された機密情報が含まれて
いる場合がございます。お心あたりのない場合は、送信者にご連絡のうえ、
このメールを削除してくださいますようお願い申し上げます。
PLEASE READ:This e-mail is confidential and intended for
the named recipient only. If you are not an intended recipient,
please notify the sender and delete this e-mail.
---------------------------------------------------------------


MLホームページ: http://www.freeml.com/delphi-users

----------------------------------------------------------------------
【ネスカフェドルチェグストが定期便申込でマシン代金無料!】
サイズもコンパクトでかわいいドルチェグストが
カプセル定期便申込とセットでマシン代金無料!
今なら宇治抹茶カプセル1箱プレゼントキャンペーン中
http://ad.freeml.com/cgi-bin/sa.cgi?id=n7che
------------------------------------------------------[freeml byGMO]--

BioPapard

unread,
Feb 23, 2016, 7:22:16 AM2/23/16
to delphi...@freeml.com
細川さん、有り難う御座います。

私は下記のように理解しましたが、間違いでしょうか?

1、山本さんのブログを参考にdelphiで、BroadcastReceiverを作成しておく。
2、GoogleのGmailアプリを起動しておき、GoogleのGmailアプリでメールを受信したら、作成したBroadcastReceiverが自動起動する。
3、BroadcastReceiverのonReceiveイベントにやりたいプログラムを書いておく。

間違っていますでしょうか?

以上、宜しくお願い致します。

http://ad.freeml.com/cgi-bin/sa.cgi?id=n7gu3
------------------------------------------------------[freeml byGMO]--

hosokawa

unread,
Feb 24, 2016, 12:03:33 AM2/24/16
to delphi...@freeml.com
BioPapard さん

こんにちは。
細川です。

> 1、山本さんのブログを参考にdelphiで、BroadcastReceiverを作成しておく。
> 2、GoogleのGmailアプリを起動しておき、GoogleのGmailアプリでメールを受信したら、作成したBroadcastReceiverが自動起動する。
> 3、BroadcastReceiverのonReceiveイベントにやりたいプログラムを書いておく。

残念ながら Delphi で作った BroadcastReceiver は AndroidManifest.xml の receiver
部に定義できる形式ではないため「GMail の受信と同時に起動する」事はできません。

Java で BoradcastReceiver を書いて jar 化し、それをプロジェクトに組み込む事に
なります。
XE7 以降はプロジェクトに jar を組み込む事ができるので、Java で書いた
BroadcastReceiver の onReceive で startIntent を使って Delphi のアプリを起動で
きます。

XE5 の時の記事になりますが、下記が参考になると思います。

http://dannywind.nl/auto-start-delphi-xe5-android-app-after-boot/

※XE5 の記事なので dex への組み込みなども書いてありますが、それらは必要ありま
せん
http://ad.freeml.com/cgi-bin/sa.cgi?id=n7nJl
------------------------------------------------------[freeml byGMO]--

BioPapard

unread,
Feb 24, 2016, 1:14:52 AM2/24/16
to delphi...@freeml.com
細川さん、有り難う御座います。

下記の情報を参考にさせて頂きます。

もう一つのアプローチとして、そもそも、delphiのAndroidアプリで、Gmailのようなアプリを作成出来ないのでしょうか?
delphiでGmailを読み込めるメールソフトが作成出来るのであれば、その中でいろいろな処理が出来るのかな?と考えていますが、そのようなコード例が見つけられないので、出来ないのでしょうか?

以上、宜しくお願い致します。

http://ad.freeml.com/cgi-bin/sa.cgi?id=n7p5e
------------------------------------------------------[freeml byGMO]--

hosokawa

unread,
Feb 24, 2016, 1:37:56 AM2/24/16
to delphi...@freeml.com
BioPapard さん

細川です。

GMail は IMAP / POP / SMTP に対応しているので、Delphi から Indy を使ってアクセ
スできると思います。

ただ、未検証ですので確約はできません。
また、多分 Indy だと OpenSSL を使う必要があります。

軽くググったら↓こんなものがありました。参考になるかもしれません。

Delphi - Indy - saving GMail draft
http://stackoverflow.com/questions/33461085/delphi-indy-saving-gmail-draft



On Wed, 24 Feb 2016 15:14:49 +0900 (JST)
http://ad.freeml.com/cgi-bin/sa.cgi?id=n7pJA
------------------------------------------------------[freeml byGMO]--

BioPapard

unread,
Feb 24, 2016, 1:41:06 AM2/24/16
to delphi...@freeml.com
細川さん、有り難う御座います。

このような例を探していました。
ちょっと試してみます。
有り難う御座いました。

http://ad.freeml.com/cgi-bin/sa.cgi?id=n7pL0
------------------------------------------------------[freeml byGMO]--

Reply all
Reply to author
Forward
0 new messages