2016-06-17 5 views
3

XML電子メールを改行付きのプレーンテキストとして次のように送信しようとしました。 しかし、正しく動作していません。PHPで改行を含むプレーンテキストとしてXMLメールを送信

$message = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n".' 
<?ADF VERSION="1.0"?> '."\r\n".' 
<adf> '."\r\n".' 
</adf> '."\r\n"; 

$headers .= "Content-Type: text/plain; charset=\"utf-8\"\r\n"; 
$headers .= 'From: <Testing>'."\r\n"; 
mail('[email protected]', 'Subject', $message, $headers); 

これで、メールは正しく送信されますが、二重改行が行われます。私は次のようにのように電子メールを送信したいこの

<?xml version="1.0" encoding="UTF-8"?> 

<?ADF VERSION="1.0"?> 

<adf> 

</adf> 

同様

<?xml version="1.0" encoding="UTF-8"?> 
<?ADF VERSION="1.0"?> 
<adf> 
</adf> 

どうすればいいですか?

助けていただければ幸いです。私の2件のコメントを組み合わせる

+0

サーバのOSを教えてください – Guru

+0

"\ n"をすでに削除していますが、改行はありません –

+0

"\ r \ n"ではなく "PHP_EOL"を使用することをお勧めします。参照:http://php.net/manual/en/reserved.constants.php –

答えて

0

、あなたはこの試みることができる:

$message = '<?xml version="1.0" encoding="UTF-8"?>'."\r\n". 
'<?ADF VERSION="1.0"?>'."\r\n". 
'<adf>'."\r\n". 
'</adf>'."\r\n"; 

$headers .= 'Content-Type: text/plain; charset="utf-8"'."\r\n"; 
$headers .= 'From: <Testing>'."\r\n"; 
mail('[email protected]', 'Subject', $message, $headers); 

編集:私はPHP_EOLについて間違っていたの。メールは例外で、常に"\r\n"を使用してください。

+0

これは、改行なしで電子メールを送信しています。 –

+0

ああ、使い方が分かりませんが、プラットフォームの改行を使用しない場合は電子メールが例外になることがあります。 –

関連する問題