phpmailerを使用してメールしたときの文の先頭の余計な改行を付加させない方法を教えてほしい。
phpmailerを使用しメール送信する。
ヘッダ文字列の最後に改行があると発生するようです。
改行コードを付加しないコーディング方法を教えてほしい。
###発生している問題・エラーメッセージ
文の先頭に余計な改行が付加されてしまう。
###該当のソースコード
php
ライブラリ読み込み、言語設定、各変数決定後のコード $to = $mail_01; //宛先 $body = $message; //本文 $from = $edit_mail_from; //差出人 $fromname = $edit_mail_from; //差し出し人名 $mail = new PHPMailer(); //$mail->SMTPDebug = 2; //DEBUG用 $mail->SMTPSecure = 'TLS'; // Gmailこれが必要! $mail->IsSMTP(); //「SMTPサーバー」設定 $mail->SMTPAuth = TRUE; //「SMTP認証」設定 $mail->Host = $smtpaddress; // SMTPサーバー 設定 $mail->Port = 587; // SMTPポート番号(SSL:465, TLS:587) 設定 $mail->Username = $edit_mail_from; // SMTP認証用のユーザーID 設定 $mail->Password = $password; // SMTP認証用のパスワード 設定 //$mail->ClearAddresses(); // 宛先アドレスを前に指定した場合はクリア $mail->AddAddress($to); //宛先設定 //$mail->ClearBCCs(); //BCCアドレスを前に指定した場合はクリア $mail->AddBcc($edit_mail_to); //BCCアドレス設定 $mail->From = $edit_mail_from; //差出人設定 $mail->FromName = mb_encode_mimeheader($fromname); //差し出し人名設定 $mail->Subject = mb_encode_mimeheader( $subject, "JIS", "B","\n" );//件名設定 $mail->CharSet = 'iso-2022-jp'; $mail->Body = mb_convert_encoding($body,'iso-2022-jp'); if (!$mail->Send()){ echo("メールが送信できませんでした。エラー:".$mail->ErrorInfo); } ```###試したこと mail()の場合、ヘッダー文字変数の最後に改行コードを付加しないコーディングで問題を解消できました。 bodyに"1",Subjectに"1",FromNameに"1"をセットしても結果は同じでした。 mail()の場合のコーディングは,ヘッダー情報をまとめてセットするので、最後のCharSetの文字列情報に改行コードを付加しないコーディングで解決できます。 多分 、phpmailerの場合、phpmailerのプログラムコードに修正を入れないと解決できないかもしれません。 ###補足情報(言語/FW/ツール等のバージョンなど) PHPMailer_5.2.0 受信メーラー:outlock, Thunderbird,g-mail 参考HP: http://apocriphanet.blog17.fc2.com/blog-entry-66.html http://qiita.com/oh-sky/items/5b35b8dd289cb7e1f00b http://sd.pot.co.jp/2009/03/31/%E7%B5%90%E5%B1%80%E3%83%A1%E3%83%BC%E3%83%AB%E3%83%98%E3%83%83%E3%83%80%E3%81%AE%E6%94%B9%E8%A1%8C%E3%81%AFlf%E3%81%AE%E3%81%BF%E3%81%AB%E3%81%9B%E3%81%96%E3%82%8B%E3%82%92%E5%BE%97%E3%81%AA%E3%81%84
具体的に「$bodyなどの変数にこれこれの値を入れたらこういうメールが送られた」ということを示したほうがいいと思います。
回答1件
あなたの回答
tips
プレビュー