• 締切済み

Spamassassinでsendmailが通らない!

kazkunの回答

  • kazkun
  • ベストアンサー率45% (5/11)
回答No.2

Spamassassinはあまり深い知識がないので思いついたところだけ。 結局以下の項目でspamと判定されているわけです。 BAYES_50 : Bayesian spam probability is 40 to 60% INVALID_MSGID : Message-Id is fake. NO_REAL_NAME : This rule fires when no name is given in the from header. SUBJ_ILLEGAL_CHARS : Subject: has too many raw illegal characters NO_REAL_NAMEについてはTacosan氏の修正で直るのではと思います。 INVALID_MSGIDは、perlで適当な(意味のある)Message-IDを生成してあげることで解決する気がします。 SUBJ_ILLEGAL_CHARSは、サブジェクトに、キリル文字かなにかをそのまま書いていませんか。 サブジェクトに書けるのはUS-ASCIIのみなので、ISO-8859-5かなにかでMIME化がする 必要がありそうです。とりあえずUS-ASCIIで送ってみてはどうでしょう。 一番やっかいなのはBAYES_50です。これはSpamassassinでベイズ理論によるフィルタが 働いているということを意味していて、もしかすると過去spamと判定されたメールが 自動的に学習されてしまっている可能性があります。そうなると、spam判定されるたび、 Spamassassinがあなたのメールの特性を学んでしまって、BAYES_80とか、ランクが上がって きてしまいます。そうなってしまったら管理者にお願いしてwhitelist_fromを追加して もらうとかの対処が必要になるかと思います。

関連するQ&A

  • Googleフォームのsendmailについて

    いつもお世話になっております。(知識がなく「カテゴリ」をPHPにしております。) 早速ではございますが,Googleフォームを使って申し込みサイトを設置しようかと思っております。申し込み頂いた方へは,その内容を保存しておいて頂くためのメールを自動的に送るようにしたいと考え,「Googleフォーム」「sendmail」で検索したところ,以下のサイトがヒットいたしました。 http://creazy.net/2011/03/google_form_mailsend.html これとまったく同じにGoogleフォームを作成し,スクリプトを設置したところ,私が考えているものが送られてきました。しかし,このスクリプトは,「お名前」「メールアドレス」「件名」となっており,私が実際に作成しているGoogleフォームの項目とは異なります。 私の作成している項目は以下の通りです(Googleフォーム上の質問項目と全く同じ)。 お名前 メールアドレス アドレスの再入力 所属(リストから選択)*6項目(リスト)ございます。 〇〇の会員ですか?(リストからの選択)*都合により〇〇と表示 これら以降もう少しございますが,省略いたします(テキスト入力あるいはリストからの選択のみです)。 返信用メール本文には,既存のスクリプトは最大限活用して,つぎのように示したいです。 ************************* ▲▲ 様 申し込みありがとうございます。(→これは該当の日本語を書き換えれば良いのかなと考えます) ------------------------------------------------------------ 【タイムスタンプ】 Tue Sep 01 2015 14:43:09 GMT+0900 (JST) 【お名前】 ▲▲ 【メールアドレス】 ××××@gmail.com 【アドレスの再入力】 ××××@gmail.com 【所属】 〇〇(リストの中から1つ表示される) 【〇〇の会員ですか?】 ◆◆(リストの中から1つ表示される) ------------------------------------------------------------ 後ほど担当者よりご連絡させていただきます。 ************************* 上記のサイトには以下のようなスクリプトが提示されておりますが,なにせ,私には全く知識がなく,下記をどのように修正すれば私のGoogleフォームで機能するのか皆目見当が付きません。 専門家の皆様,この内容の知識をお持ちの皆様,以下のスクリプトを私のフォームで動くように加筆修正頂けますでしょうか。ご多忙のところ申し訳ございませんが,ぜひお願いいたします。 function sendMailFromForm() { Logger.log('sendMailFromForm() debug start'); //------------------------------------------------------------ // 設定エリアここから //------------------------------------------------------------ // 件名、本文、フッター var subject = "[お問い合わせ]"; var body = "お問い合わせありがとうございます。\n\n" + "------------------------------------------------------------\n"; var footer = "------------------------------------------------------------\n\n" + "後ほど担当者よりご連絡させていただきます。"; // 入力カラム名の指定 var NAME_COL_NAME = 'お名前'; var MAIL_COL_NAME = 'メールアドレス'; var SUBJ_COL_NAME = '件名'; // メール送信先 var admin = "admin@example.com"; // 管理者(必須) var cc = ""; // Cc: var bcc = admin; // Bcc: var reply = admin; // Reply-To: var to = ""; // To: (入力者のアドレスが自動で入ります) //------------------------------------------------------------ // 設定エリアここまで //------------------------------------------------------------ try{ // スプレッドシートの操作 var sh = SpreadsheetApp.getActiveSheet(); var rows = sh.getLastRow(); var cols = sh.getLastColumn(); var rg = sh.getDataRange(); Logger.log("rows="+rows+" cols="+cols); // メール件名・本文作成と送信先メールアドレス取得 for (var j = 1; j <= cols; j++ ) { var col_name = rg.getCell(1, j).getValue(); // カラム名 var col_value = rg.getCell(rows, j).getValue(); // 入力値 body += "【"+col_name+"】\n"; body += col_value + "\n\n"; if ( col_name === NAME_COL_NAME ) { body = col_value+" 様\n\n"+body; } if ( col_name === MAIL_COL_NAME ) { to = col_value; } if ( col_name === SUBJ_COL_NAME ) { subject += col_value; } } body += footer; // 送信先オプション var options = {}; if ( cc ) options.cc = cc; if ( bcc ) options.bcc = bcc; if ( reply ) options.replyTo = reply; // メール送信 if ( to ) { MailApp.sendEmail(to, subject, body, options); }else{ MailApp.sendEmail(admin, "【失敗】Googleフォームにメールアドレスが指定されていません", body); } }catch(e){ MailApp.sendEmail(admin, "【失敗】Googleフォームからメール送信中にエラーが発生", e.message); } }

    • ベストアンサー
    • PHP
  • 以下の英文を和訳してください。

    (1)nothing is more important than tests in school. (2)there are much more important things than tests at school. (3)it is not necessary to take tests at school. (4)there is no use practicing taking tests. (5)students should never cram before a test. (6)reviewing thoroughly is better than cramming.

  • sendmailで特定ドメインに送信できない

    さくらのクラウドでCentOS5を利用しています。 先日ストレージの障害が発生し、サーバーの再起動が発生したのですが、 その後、sendmailで特定ドメイン*@hoge.comにメールが送信できなくなり、 rootにメールが送信されるようになってしまいました。 hoge.comは自分の運営するWebサイト(同じサーバー)のドメイン(Aレコード)で、 メール(MXレコード)はGoogleAppsのGMailを使用しています。 sendmailの設定は初期状態のままです。 これまでは問題なく運用できていました。 MXレコードはnslookupでもgoogleに向いていることを確認しました。 Yahoo!などの別のアドレスや、異なるドメインのGoogleAppsへは問題なくsendmailできますし、 別のサーバーからは*@hoge.comにsendmail可能です。 $ sendmail -v hoge@hoge.com < /dev/null でテストメールをすると、一件問題なく送信したかのように処理が表示されますが、 maillogを確認すると、 Jan 8 22:42:47 *** sendmail[24564]: ***24564: from=root, size=0, class=0, nrcpts=1, msgid=<201201081342.***24564@hoge.com>, relay=root@localhost Jan 8 22:42:47 *** sendmail[24567]: ***24567: from=<root@hoge.com>, size=261, class=0, nrcpts=1, msgid=<201201081342.***24564@hoge.com>, proto=ESMTP, daemon=MTA, relay=hoge.com [127.0.0.1] Jan 8 22:42:47 *** sendmail[24564]: ***24564: to=hoge@hoge.com, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30000, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (***24567 Message accepted for delivery) Jan 8 22:42:47 *** sendmail[24568]: ***24567: to=root, ctladdr=<root@hoge.com> (0/0), delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30455, dsn=2.0.0, stat=Sent のようになっており、なぜか最後にto=rootになってしまっています。 おそらくサーバーの再起動時に、なんだかの設定が切り替わったせいだと思いますが、 原因がわからず、どこを設定すれば良いのか困っています。 気になる点 ・逆引きホストを、hoge.comにしています。 ・仮想サーバーのホストネームをhoge.comにしています。 ご教授頂ければ幸いです。よろしくお願いいたします。

  • VOAの記事より

    英語やり直し組みです An Internet cafe owner in Rangoon who declined to allow his name to be used told VOA the Internet is only available during the middle of the night, when there is a curfew in effect and it is illegal to be on line. (1)to allow his name to be used 調べた所「彼の名義を貸す」だと思いますが to lend his name とか that his name was used では意味が通じないのでしょうか? (2)最後のit is illegal to be on line.は 「オンラインになることは違法です」のような感じでいいのでしょうか? 日本語英語だと「オンライン=ネット接続状態」になっていますが、正しい英語でも「on line=ネット接続状態」と考えてもいいのでしょうか? お願いします

  • sendmail -fオプションの指定はどこで行えばいいでしょうか?

    キャノネットというサーバーでフリーのメールフォームCGI設置を試みました、-fと-tオプション設定を行わなければならないみたいなのですが、今回使用したいCGIの初期設定ファイルsendmail指定部分下記に #sendmailのパス $init->{sendmail_path} = '/usr/local/bin/sendmail -t -f ' メールアドレス' '; と指定しましたがCGIエラーとなってしまい、どうやらプログラム内を書き換える必要があるみたいなのですが、知識不足のため どうやって変更するのかがわからず困っております。 お詳しい方、下記のプログラム内の変更部分をお教え下さい。 よろしくお願い致します。 (CGIはURLのものを使用しております。) http://www.web-liberty.net/download/mailplus/index.html -------------------------------------------------- package webliberty::Sendmail; use strict; use Jcode; use webliberty::Encoder; ### コンストラクタ sub new { my $class = shift; my $self = { sendmail => shift, send_to => undef, send_from => undef, subject => undef, name => undef, message => undef, files => undef, x_mailer => undef }; bless $self, $class; return $self; } ### メール送信 sub sendmail { my $self = shift; my %args = @_; $self->{send_to} = $args{'send_to'}; $self->{send_from} = $args{'send_from'}; $self->{subject} = $args{'subject'}; $self->{name} = $args{'name'}; $self->{message} = $args{'message'}; $self->{files} = $args{'files'}; $self->{x_mailer} = $args{'x_mailer'}; if (!$self->{send_to}) { $self->{send_to} = 'example@example.com'; } if (!$self->{send_from}) { $self->{send_from} = 'example@example.com'; } if (!$self->{subject}) { $self->{subject} = 'No Subject'; } if (!$self->{message}) { $self->{message} = 'No Message'; } if (!$self->{x_mailer}) { $self->{x_mailer} = 'Web Liberty'; } foreach ($self->{subject}, $self->{name}, $self->{message}) { $_ =~ s/<br ?/>/?n/g; $_ =~ s/&amp;/&/g; $_ =~ s/&lt;/</g; $_ =~ s/&gt;/>/g; $_ =~ s/&quot;/"/g; } if ($self->{name}) { $self->{send_from} = "?"" . $self->_encode($self->{name}) . "?" <$self->{send_from}>"; } $self->{message} =~ s/?xEF?xBD?x9E/?xE3?x80?x9C/g; $self->{message} = Jcode->new($self->{message}, 'utf8')->jis; my @files = split(/?n/, $args{'files'}); my $boundary; if ($files[0]) { require webliberty::File; $boundary = time; while ($self->{message} =~ /$boundary/) { $boundary++; } } open(webliberty_Sendmail, "| $self->{sendmail} -t") or return(0, "Sendmail Error : $self->{sendmail}"); print webliberty_Sendmail "X-Mailer: $self->{x_mailer}?n"; print webliberty_Sendmail "To: $self->{send_to}?n"; print webliberty_Sendmail "From: $self->{send_from}?n"; print webliberty_Sendmail "Subject: " . $self->_encode($self->{subject}) . "?n"; if ($files[0]) { print webliberty_Sendmail "Content-Type: multipart/mixed; boundary=?"$boundary?"?n?n"; print webliberty_Sendmail "--$boundary?n"; } print webliberty_Sendmail "Content-Transfer-Encoding: 7bit?n"; print webliberty_Sendmail "Content-Type: text/plain; charset=iso-2022-jp?n?n"; print webliberty_Sendmail "$self->{message}?n"; foreach (@files) { my $file_ins = new webliberty::File($_); my $file_name = $file_ins->get_name . '.' . $file_ins->get_ext; print webliberty_Sendmail "--$boundary?n"; print webliberty_Sendmail "Content-Type: application/octet-stream; name=?"$file_name?"?n"; print webliberty_Sendmail "Content-Transfer-Encoding: X-uuencode?n"; print webliberty_Sendmail "Content-Disposition: attachment; filename=?"$file_name?"?n?n"; if (open(webliberty_Sendmail_FILE, $_)) { binmode(webliberty_Sendmail_FILE); print webliberty_Sendmail $self->_uuencode(join('', <webliberty_Sendmail_FILE>), $file_name); close(webliberty_Sendmail_FILE); } } close(webliberty_Sendmail); return 1; }

    • ベストアンサー
    • CGI
  • Sendmail のログの見方について

    sendmail のログの意味についてわからない部分があります。 "disconnect level 1"のようなログが結構でてきているのですが、 これは何を表しているのでしょうか? (ちなみにログレベルMAXの状態です。) 【ログ内容】 assigned id Milter: no active filter --- 220 ms01.hogehoge-lab.jp ESMTP Sendmail 8.13.1/8.13.1; Sun, 13 Apr 2008 04:42:14 +0900 <-- EHLO testserver.spam-hogehoge-lab.jp --- 250-ms01.hogehoge-lab.jp Hello testserver.hogehoge-lab.jp [172.31.81.143] (may be forged), pleased to meet you --- 250-ENHANCEDSTATUSCODES --- 250-PIPELINING --- 250-8BITMIME --- 250-SIZE --- 250-DSN --- 250-ETRN --- 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 --- 250-DELIVERBY --- 250 HELP <-- MAIL From:<example@yoo.co.jp> SIZE=736 BODY=8BITMIME --- 451 yoo.co.jp: Name server timeout --- 050 <example@yoo.co.jp>... Transient parse error -- message queued for future delivery --- 451 yoo.co.jp: Name server timeout --- 451 yoo.co.jp: Name server timeout --- 250 2.1.0 <example@yoo.co.jp>... Sender ok <-- RCPT To:<demo2@hogehoge-lab.jp> --- 250 2.1.5 <demo2@hogehoge-lab.jp>... Recipient ok <-- DATA --- 354 Enter mail, end with "." on a line by itself from=<example@yoo.co.jp>, size=691, class=0, nrcpts=1, msgid=<200804121935.m3CJZrnB006989@pps001.spam-hogehoge-lab.jp>, bodytype=8BITMIME, proto=ESMTP, daemon=MTA, relay=testserver.hogehoge-lab.jp [172.31.81.143] (may be forged) queueup ./qfm3CJgESM017742 --- 250 2.0.0 m3CJgESM017742 Message accepted for delivery unlock ./xfm3CJgESM017742: unlink-fail 2 disconnect level 1 in background, pid=17743 doworklist, pid=17743 queueup ./qfm3CJgESM017742 sendenvelope, flags=0x625843 to=<demo2@hogehoge-lab.jp>, delay=00:00:00, xdelay=00:00:00, mailer=local, pri=30911, dsn=2.0.0, stat=Sent dropenvelope, e_flags=0x4625843, OpMode=q, pid=17743 done; delay=00:00:00, ntries=1 unlock ./xfm3CJgESM017742: unlink-fail 2 となってます。 そのほか、 --- 250 2.0.0 m3CJgESM017742 Message accepted for delivery より下のログ内容について、教えて頂ければよりありがたいです。 (ネットは結構みたのですが、Sendmailは中々なく・・・)

  • maillog内のsendmailエラー

    いつもお世話になっております。 Linuxサーバの /var/log/maillog 内において、毎朝4時頃、定期的にsendmailのログが発生しており、原因解明に苦戦しております。 OSは Red Hat Enterprise Linux AS release 3 (Taroon)です。 以下のコマンドで、sendmailが起動していないことは確認済みです。 ▼コマンド1 [root@HOST名 root]# /etc/init.d/sendmail status sendmailは停止しています ▼コマンド2 [root@HOST名 root]# chkconfig --list sendmail sendmail 0:オフ 1:オフ 2:オフ 3:オフ 4:オフ 5:オフ 6:オフ ▼コマンド3 [root@HOST名 root]# crontab -l no crontab for root その他、ps -ef コマンドにて、sendmailのプロセスが起動していないかも確認しましたが、起動していませんでした。 sendmailが起動していない状態で、何かの原因でsendmailが起動しようとしているときに発生しているのではないか?と推測しましたが、ログの意味が分からず、先に勧めない状態です。ご教授いただけましたら幸いです。どうか、宜しくお願い致します。 --以下、ログになります。最初のブロックのみ貼り付けています。 Aug 13 04:23:01 HOST名 sendmail[27222]: My unqualified host name (HOST名) unknown; sleeping for retry Aug 13 04:24:01 HOST名 sendmail[27222]: unable to qualify my own domain name (HOST名) -- using short name Aug 13 04:24:01 HOST名 sendmail[27222]: k7CJO1EC027222: from=root, size=329, class=0, nrcpts=1, msgid=<200608121924.k7CJO1EC027222@HOST名>, relay=root@localhost Aug 13 04:24:01 HOST名 sendmail[27222]: k7CJO1EC027222: to=root, ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30329, relay=[127.0.0.1] [127.0.0.1], dsn=4.0.0, stat=Deferred: Connection refused by [127.0.0.1]

  • 英文の問題の添削をお願いします!

    ※穴埋め 1)A restaurant whose name is well known is always expensive. =A restaurant the name of ( ) is well known is always expensive. 2)There is no one who doesn't have his faults. =There is no one (but) (have) his faults. 3)Charles gave the boy all the money he had. =Charles gave the boy (what) money he had. ※[]内の語を入れるのに正しい位置の番号を指摘 1)(1) It is often said (2) that rice is (3) to Asians (4) wheat is to Europeans. [what] →(3)? 2)(1) The man (2) you were talking (3) used to work (4) for our company. [to] →(3)?

  • アップロードしたファイルをメールで添付したいのですが教えてください

    <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>ファイルのアップロード</title> </head> <body> <p><?php $fradrs = "from@xxxxxxx"; $toadrs = "to@xxxxxxxx"; $subject = "ファイルアップ\n"; $comment = "アライアンスから\n"; $comment .= "ファイルがアップされました\n"; if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "files/" . $_FILES["upfile"]["name"])) { chmod("files/" . $_FILES["upfile"]["name"], 0644); echo $_FILES["upfile"]["name"] . "をアップロードしました。"; } else { echo "ファイルをアップロードできません。"; } } else { echo "ファイルが選択されていません。"; } mb_language("ja"); $sdmail0 = $toadrs; $mlhed = "From: $fradrs\n"; $rslt = mb_send_mail($sdmail0,$subject,$comment,$mlhed); ?></p> </body> </html> ファイルは、アップされ、メールでのアップ通知をしていますが アップしたファイルを添付するには、どう書けば良いのでしょうか?

    • 締切済み
    • PHP
  • 3g2着うたのダウンロードタグ

    W21CAをつかってるんですが3g2着うたをつくり 以下のタグでやってみみたところ ダウンロードデータが正しくありません。 となりダウンロード出来ませんでした 何処か間違っているところがあったら ご指摘願います。 <?xml version="1.0"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <title>ezmovieのobjectダウンロード</title> <meta http-equiv="Cache-Control" content="no-cache" /> <meta name="vnd.up.markable" content="false" /> </head> <body> <center> ■objectダウンロード■<hr> <object data="http://xxxxx.xx.xxxx.xx/upboard/updir/xxxxx.3g2" type="audio/3gpp2" copyright="no" standby="ダウンロード"> <param name="disposition" value="devmpzz" valuetype="data" /> <param name="size" value="1459716" valuetype="data" /> <param name="title" value="xxxxx" valuetype="data" /> </object> </center> </body> </html>