人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

解決に至った回答には100ポイント差し上げます。
サーバーはさくらインターネットを利用しています。
このサーバーの配信プログラムはmaildrop を使用しています。

Q.
本文に特定の文字が入ったメールだけ転送する設定のやり方を教えてください。
.mailfilterに数行、記述をおこなうだけで出来る安易な方法だと思うのですが、記述の仕方がわかりません。

何度かここで質問しましたが解決に至っていません。

参考URLだけの回答は要りません。
.mailfilterに記述するソースをそのまま書いてください。
よろしくお願い致します。

●質問者: happy778
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:さくらインターネット なう サーバー ソース プログラム
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● startkit
●27ポイント

正規表現という規則で記述しないとだめなのです。

たとえば

if ( /^content-type:[ \t]*text\/html.*/ )

{

to "./Maildir.spam/"

}

正規表現の解説は本1冊くらいかかります。

◎質問者からの返答

回答ありがとうございます。

( /^content-type:[ \t]*text\/html.*/ )のどこに特定の文字を挿入すればいいのでしょうか?

転送先のアドレスがpostmaster@example.sakura.ne.jpの場合

to "!postmaster@example\.sakura\.ne\.jp"と表記すればいいのでしょうか?

よろしくお願い致します。


2 ● rouge_2008
●26ポイント

if ( /.*Hatena.*/:b )

{

cc "!postmaster@example\.sakura\.ne\.jp"

}


…でいかがでしょうか?

本文に「Hatena」が含まれていた場合、postmaster@example.sakura.ne.jpに転送します。

参考ページ

http://kazulog.net/index.php?e=385

ただし、特定の文字列が日本語の場合、これでは動作しないかもしれません。

参考ページの管理人さんも失敗しているようです。

さくらのサーバーのユーザーではないため、確認できないので分かりませんが、日本語の場合は16進コードで記述するとマッチするかもしれません。


「はてな」→「\x82\xcd\x82\xc4\x82\xc8」

(バックスラッシュではなく半角の¥です。)

…となるので、下のように記述します。


if ( /.*\x82\xcd\x82\xc4\x82\xc8.*/:b )

{

cc "!postmaster@example\.sakura\.ne\.jp"

}


16進コードは、バイナリエディタで確認できます。

サクラエディタもしくはVxEditorなどのテキストエディタでも確認できます。

(※カーソル位置の16進コードがステータスバーに表示されます。)

◎質問者からの返答

回答ありがとうございます。

とても参考になりました。

しかし特定の文字を含まない全てのメールが転送されてしまいます。

他に何か記述が必要なのでしょうか…

また何かわかりましたら回答頂けると幸いです。


3 ● lang_and_engine
●27ポイント

.mailfilterには

cc "!xxx@gmail.com"

とだけ書いておき,まずメールのコピーをすべてgmailに転送します。

gmail側では

設定→フィルタ→キーワード

で,その特定の文字列を入力し,本来の転送先のメールアドレスをセットします。


こうすれば,特定の文字列を含むメールはgmail経由で転送されてきます。

gmailアカウントを,転送時の振り分け用途のみで利用するという事です。

例えば,本文に自分の名前を含むメールのみ携帯に転送させるなどの用途でよくこのように使われています。

◎質問者からの返答

回答ありがとうございます。

そういう方法もありますね。

しかし.mailfilterの記述だけで転送する方法を探しています。

通常ポイントとさせて頂きます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ