初めまして。
mb_send_mailを使ってメールを送ろうとしたのですが、下記のような「警告」が出ました。
Warning: mb_send_mail() [function.mb-send-mail]: Unsupported charset "'UTF-8'" - will be regarded as ascii in C:\xampp\htdocs\send_test\message_output.php on line 21
Warning: mb_send_mail() [function.mb-send-mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\xampp\htdocs\send_test\message_output.php on line 21
前者は、私のパソコンのデフォルト文字コードがASCIIなのにUTF-8でエンコードしようとしたからだと思うのですが、どのように対処すればよいのかわかりません。
後者は、ポートを設定するかini_set()を使えという意味だと思うのですが、ポートはどのように知ればよいのでしょうか?
ご教授よろしくお願いいたします。m(_ _)m
質問です。mb_send_mailを使おうとしたのですが・・・
Re: 質問です。mb_send_mailを使おうとしたのですが・・・
ローカル環境でHTTPサーバーを立ててテストしているならば、この場合はメールサーバーも立てないといけません。(送信するのでもちろんネットワークに接続されていなければなりません)
また、文字コードの方は、関数に渡す文字列を文字コード変換で Shift_JIS に変換して渡せば行けるはずです。
※双方とも自身が試していないので確証はありません。
また、文字コードの方は、関数に渡す文字列を文字コード変換で Shift_JIS に変換して渡せば行けるはずです。
※双方とも自身が試していないので確証はありません。
This article was written by "Mitsunagi".
- MoNoQLoREATOR
- 記事: 284
- 登録日時: 13年前
- 住所: 東京
Re: 質問です。mb_send_mailを使おうとしたのですが・・・
メールサーバーを立てたのでその手のエラーは出なくなったのですが、依然、Unsupported charset "'UTF-8'"というエラーが出ます。エンコード方法をShift_JISに変えてみても、Unsupported charset "'Shift_JIS'"という結果になっただけでした。一応コード張っておきます。
実行すると、
送信者:自分
件名:??????
内容:なし
というメールが送り返されてきます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head><body>
<?php
//入力内容の受け取り
$message = $_POST["mess"];
//入力内容をUTF-8にエンコード
$enedMess = mb_convert_encoding($message, "UTF-8", "auto");
//日本語に設定。エンコード方法をUTF-8に設定
mb_language("ja");
mb_internal_encoding("UTF-8");
//コンテンツタイプをUTF-8のプレーンテキストに設定
$header = "Content-Type: text/plain;charset='UTF-8'";
//送信先のアドレス設定
$addres = "mailaddres@gmail.com";
//件名設定
$subject = "テスト";
//送信されたかどうかで処理を分ける
if(ini_get("safe_mode")){
//送信が成功した場合
mb_send_mail($addres, $subject, $enedMess, $header);
echo "送信成功";
}else{
//送信が失敗した場合
mb_send_mail($addres, $subject, $enedMess, $header, '-f' . $addres);
echo "送信失敗";
}
?>
</body></html>
送信者:自分
件名:??????
内容:なし
というメールが送り返されてきます。
Re: 質問です。mb_send_mailを使おうとしたのですが・・・
コードの方はUTF-8を使おうとしているみたいですが、メールに使用する文字コードはSJISの方が良かったと思います(理由は忘れましたが)
http://www.php.net/manual/ja/mbstring.s ... odings.php
マニュアルを参照した所、「Shift_JIS」は「SJIS」を使用するみたいですがどうでしょう?
http://www.php.net/manual/ja/mbstring.s ... odings.php
マニュアルを参照した所、「Shift_JIS」は「SJIS」を使用するみたいですがどうでしょう?
- MoNoQLoREATOR
- 記事: 284
- 登録日時: 13年前
- 住所: 東京
Re: 質問です。mb_send_mailを使おうとしたのですが・・・
レスありがとうございます。
SJISにしてみましたが、変わりありませんでした。
ASCIIでも試してみましたが、不思議な事に
Unsupported charset "'ASCII'" - will be regarded as ascii
という警告文も出るんですよね。これは、アパッチの設定がダメなのでしょうか?
それと、エンコードなしで送ろうとしたのですが、それすらもできないようです。
今度、ヤフーメールで試してみようと思います。
SJISにしてみましたが、変わりありませんでした。
ASCIIでも試してみましたが、不思議な事に
Unsupported charset "'ASCII'" - will be regarded as ascii
という警告文も出るんですよね。これは、アパッチの設定がダメなのでしょうか?
それと、エンコードなしで送ろうとしたのですが、それすらもできないようです。
今度、ヤフーメールで試してみようと思います。