2011-10-09 21 views
5

PHP mail()から送信されたメールがスパムとしてマークされないようにするにはどうすればよいですか?私は登録電子メールを送信するために、次を使用してい

電子メールは(あまりにもGmailで)スパムフォルダに入れている何人かの人々のために
$subject = 'subject is here'; 
$message_raw = 'e-mail text'; 

$message = base64_encode($message_raw); 

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/plain; charset=UTF-8' . "\r\n"; 
$headers .= 'Content-Transfer-Encoding: base64' . "\r\n"; 
$headers .= 'From: papa.sk <[email protected]>' . "\r\n"; 

$sendit = mail($to, $subject, $message, $headers); 

/etc/postfix/main.cfで、私はこれを持っている:

myorigin = /etc/mailname 
smtpd_banner = papa1.vps.websupport.sk ESMTP 

私は上記を変更する必要があるかどうかわかりません。

+0

迷惑メールを送信しないでください。 (右?)もちろん、私は冗談です。最も効果的な方法は、ユーザーに電子メールをスパムではないとマークさせることです。多くの素晴らしい解決策はありません(スパマーに感謝します)。 –

+0

迷惑メールは一度も送信していません。新しいサーバー、新しいサイトです。メールが展開されて以来、10通未満しか出ていません。サーバーはサイト専用です。 –

+0

Base64でエンコードされたメッセージは、スパムである可能性が高くなります。 –

答えて

2

php mail()機能は、電子メールがスパムとしてマークされていることとは何の関係もありません。

メールがスパムとしてマークされているのは、相手側で発生します。 mail()と多くのプロセスに影響を与えることはできません。

電子メールが迷惑メールとしてマークされている理由は数多くあります。電子メールが迷惑メールとしてマークされている具体的な理由がわからない限り、何もできません。

そのbtwの生活をする業界全体があります。

+0

可能であれば、大企業は「これを迷惑メールではない」と電子メールで通知します。 –

+0

@RiMMER:あなたが何を意味するのか分かりません。 – hakre

2

ご使用のサーバーに逆DNSレコードが必要な場合があります。

多くのメールサーバーは、ホスト名を参照できない場合、ホストから送信されたメールがスパムであると見なします。つまり、nslookup papa.skはIPアドレスを返し、nslookup <ip address>はpapa.skを返します。

+0

私のサーバー上で何らかの形で報告されているホスト名を設定することはできますか?または私のホスト会社にサーバーの外でそれを設定するように頼む必要がありますか?私はそれに完全なルートアクセスを持っています... –

+1

あなたは最初に(DNSサーバーを設定することによって)あなたのサーバーに置くだけでなく、あなたのような逆DNSが必要であることをホスティング会社に伝える必要があります。多くのホスティング会社がこのサービスを提供していないことに注意してください。この問題を回避する1つの方法は、ホスティング会社が確実に提供するメールリレーを介してメールを送信することです。 –

+0

メール中継のガイドはどこにありますか? –

関連する問題