私はウェブサイトを持っており、「連絡先」セクションには、ユーザーが私に連絡するために記入できるフォームがあります。フォームは、アクションが php ページである単純なフォームです。
PHPコード:
$to = "email@domain.com";
$name=$_POST['name']; // sender name
$email=$_POST['email']; // sender email
$tel= $_POST['tel']; // sender tel
$subject=$_POST['subject']; // subject CHOSEN FROM DROPLIST, ALL TESTED
$text=$_POST['text']; // Message from sender
$text.="\n\nTel:".$tel; // Added to message to show me the telephone nr to the sender at bottom of message
$headers="MIME-Version: 1.0"."\n";
$headers.="Content-type: text/plain; charset=UTF-8"."\n";
$headers.="From: $name <$email>"."\n";
mail($to, '=?UTF-8?B?'.base64_encode($subject).'?=', $text, $headers, '-fno-reply@domain.com');
これがほとんどの場合うまくいく理由を誰か教えてください。
=?UTF-8?B??=
私は Outlook Express を使用しており、このSystem.Net.Mail と =?utf-8?B?XXXXX.... ヘッダーを読みまし たが、役に立ちませんでした。
POP3 メールを取得する実際のメールプログラムにログインすると、メールは同じように見えるため、問題は Outlook にはありません。
Outlook で右クリックして [メッセージ ソース] を選択すると、[差出人] 情報がありません。
たとえば、適切なメッセージは次のようになります。
件名: =?UTF-8?B?w5Z2cmlndA==?= MIME バージョン: 1.0 コンテンツ タイプ: テキスト/プレーン。文字セット=UTF-8 差出人:ジョン・ドウ
ただし、問題のあるものは次のようになります。
件名: =?UTF-8?B??= MIME バージョン: 1.0 コンテンツ タイプ: テキスト/プレーン。文字セット=UTF-8 から:
あたかもどこかで情報が失われたかのように。
また、私が自分で管理する VPS を持っていることも知っておく必要があります。それが何か関係がある場合は、メールサーバーとしてpostfixを使用します。しかし、繰り返しになりますが、なぜそれが時々機能するのでしょうか?
また、特殊文字が (Outlook と Web メールの両方で) 正しく表示されないことがあります。
たとえば、スウェーデン語で「Björkman」という名前は のようBjörkman
に表示されますが、これもたまにしかありません。
少なくとも私にとって追跡するのは非常に難しいので、誰かがこの問題について何か知っていることを願っています.
さらに入力が必要な場合はお知らせください。