カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

メール送信(メーラーをGmailに指定)

メーラーを起動する際に、起動するメーラーをGmailに指定したい場合

Intent intent = new Intent(Intent.ACTION_SEND);

String[] strTo = { "to@example.jp" };

intent.putExtra(Intent.EXTRA_EMAIL, strTo);
intent.putExtra(Intent.EXTRA_SUBJECT, "件名");
intent.putExtra(Intent.EXTRA_TEXT, "本文\n");

intent.setType("message/rfc822");

intent.setClassName("com.google.android.gm", "com.google.android.gm.ComposeActivityGmail");

startActivity(intent);

複数の宛先への送信や、添付ファイルについては[他アプリと連携]を参照

6,633 views

ファイルを添付してメール送信2

複数の画像を添付してメールを送信するフォームを作ったので参考に載せておきます。
要所のみで省略している部分もあります。
ここでは添付できるファイル数を5つで作成しています。

<form action="./confirm.php" method="post" enctype="multipart/form-data">
    <input type="file" size="30" name="upfile1"><br>
    <input type="file" size="30" name="upfile2"><br>
    <input type="file" size="30" name="upfile3"><br>
    <input type="file" size="30" name="upfile4"><br>
    <input type="file" size="30" name="upfile5"><br>
    <input type="submit" name="submit" value="内容確認">
    <input type="reset" value="リセット">
</form>
<?php
// 共通初期設定
//{
    // 拡張子制限(0=しない・1=する)
    $ext_denied = 1;
    // 許可する拡張子リスト
    $ext_allow1 = "jpg";
    $ext_allow2 = "jpeg";
    $ext_allow3 = "gif";
    // 配列に格納しておく
    $EXT_ALLOWS = array($ext_allow1, $ext_allow2, $ext_allow3);

    // アップロード容量制限(0=しない・1=する)
    $maxmemory = 1;
    // 最大容量(KB)
    $max = 3000;
//}
?>

続きを読む…»

15,544 views

エンベロープ【envelope】

エンベロープ(封筒)とは、電子メールメッセージの配送の際にメール本体に付加されるデータで、送信者と宛先の2つあります。
これはメールヘッダーに付加される情報とは異なり、実際の配送に使われる情報です。

送信者はMAIL FROM:、宛先はRCPT TO:となります。
ここに設定される情報は通常、メーラーでは見れないが、
メールヘッダーのReturn-Path:にMAIL FROM:の内容が、Received:にRCPT TO:の内容が記録されていることがあります。
エンベロープの送信者・宛先はメッセージの配送に使われる実際の送信者・宛先であり、ヘッダーに書かれているものとは異なる場合がある。つまりいくらでも詐称することが可能ということである。

1,910 views

procmail 送信元の取得

送信元メールアドレスの取得が不完全だったので、訂正します。
確かな情報を得るため、ヘッダーからではなく、エンベロープから取得するように。
オプションもいらないと思います。

訂正前

#送信元アドレスを変数$FROMに格納
#sedコマンドで表示名、スペース、<>を除去(無効)
:0fwH
* ^From: \/.*
{
    FROM = $MATCH
    #FROM = `echo $FROM | sed s/\".*\"//`
    #FROM = `echo $FROM | sed s/[[:space:]]//g`
    #FROM = `echo $FROM | sed s/\\<//g | sed s/\\>//g`
}

訂正後
※[]の中は^・半角スペース・タブです。

#送信元アドレスを変数$FROMに格納
:0
*$ ! ^From *\/[^     ]+
{
    FROM = `formail -x From:`
}
:0E
{
    FROM = $MATCH
}

Reply-To:・Sender:も取得する場合

#送信元アドレスを変数$FROMに格納
:0
*$ ! ^Reply-To: *\/[^  ].*
*$ ! ^Sender: *\/[^    ].*
*$ ! ^From *\/[^       ]+
{
    FROM = `formail -x From:`
}
:0E
{
    FROM = $MATCH
}

ドメインを取得する場合(@を含む)

:0
*$ ^From *\/[^     ]+
{
    # @以前を除去
    DOMAIN = `echo "$MATCH" | sed s/.*@/@/g`
}
3,820 views

procmailエラー

maillogにprocmailのエラーが出ていたのでメモ

エラー

procmail: Extraneous filter-flag ignored

原因

:0fwH
/dev/null

続きを読む…»

4,235 views