ヘッダーが見えてしまう等
2008/09/26
本文が消えてしまう。携帯でうまく受信できない。ヘッダーが見えてしまう
改行コードの変更
Qdmailでは、RFCに従い、ヘッダーの改行コードをCRLFとしています。しかし、sendmailではないメール送信サーバー、特にqmailを使用している場合、改行コードがCRLFではなくLFのみでないと誤動作することがあるようです。
0.8.6.a以降のバージョンで、自動認識を装備していますが、当該自動認識がうまく働かない場合もあるかと思います。
その場合は、強制的に改行コードをLFのみにするように変更してみてください。
変更の仕方
ソースコードの50行目付近に、Line Feedの項目があり、var $LFC = ”¥r¥n”と定義している行があります。ソース内を「$LFC」で検索してみてください。
それを半角で”¥n”と変更してみてください。¥rを削除するということです。
逆変更
Qdmailが、送信サーバーがqmailであると自動判別したけれども、それが逆効果になってしまう場合は、qmail判定した時であっても、CRLFにしておくことが必要になります。上記のvar $LFC の定義の1行下に、var $LFC_Qmailの設定があります。これを半角で”¥r¥n”に変更してみてください。
ユーザーのソースコード内での改行コードの変更
$mail には Qdmailオブジェクト(インスタンス)が入っているものとします。$mail -> lineFeed( ”¥n” ); //(実際は半角にて)とすると、上記のようにQdmailのソースコードを変更しなくても、ユーザースクリプトサイドで、強制的に改行コードをLFのみにできます。CRLFに再変更するには、
$mail -> lineFeed( ”¥r¥n” );としてください。
現在の改行コードを得るには、
$mail -> lineFeed();と引数を省略すれば、返り値で現在の改行コードを返します。
なぜかテキストが文字化けする
mb_language('ja'); mb_internal_encoding('UTF-8');UTF-8は例示ですので、お使いの文字コードにしてください。
または
php.ini にて
mbstring.language = Japaneseを設定してみてください。