phpメールフォームで受信したメールの送り元が文字化けしてしまう時

こんにちはレターズです。
環境が変われば文字も化ける。と言うことで、本当に検証作業というのは大変なものですよね。

今回はメールフォームから送られてきたメールの送信元が環境によって文字化けしてしまう時の対処法です。

phpのメールフォームで送り元を

.
.
.
$from = "レターズ<
        
            in**@le*******.jp
            
                
                
                
            
            
                
                
                
            
        
>";
.
.
.

として、mail関数で送信する場合があるかと思います。

ですが、このままだと ”レターズ” の部分が文字化けしてしまうことがあります。
この場合、解決策は下記です。

$from = mb_encode_mimeheader("レターズ", "UTF-8") . "<
        
            in**@le*******.jp
            
                
                
                
            
            
                
                
                
            
        
>";

mb_encode_mimeheader関数がMIME ヘッダ エンコーディング方式によって文字列をエンコードしてくれます。それを返信元に設定してあげることで環境による文字化けを防ぐことができました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です