- ベストアンサー
PHP上でのメールフォーム送信設定について
- メールフォーム送信設定に関するエラーについて質問です。
- Yahooメールを使っての送信を試みていますが、エラーメッセージが表示されます。
- PHP.iniファイルの設定やOutlookの設定について、詳しい解決方法を教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
最後のところ間違えました $error = $smtp->send($recipient, $headers, $message); if (PEAR::isError($error)) die($error->getMessage()); exit("メッセージを送信しました"); ?>
その他の回答 (2)
- php504
- ベストアンサー率42% (926/2160)
認証するならPEARのMailかNet/SMTPを使うのがはやそうです 試しに作ってみましたが自分の環境では送信できました <?php $params["host"] = "smtp.mail.yahoo.co.jp"; $params["auth"] = true; $params["username"] = "username"; $params["password"] = "password"; $sender = "from@example.com"; $recipient = "to@example.org"; $subject = "テストテスト"; $subject = mb_convert_encoding($subject, "jis", "sjis"); $subject = mb_encode_mimeheader($subject, "jis"); $message = "test メッセージ"; $message = mb_convert_encoding($message, "jis", "sjis"); require_once 'Mail.php'; $smtp = Mail::factory("smtp", $params); if (PEAR::isError($smtp)) die($smtp->getMessage()); $headers['From'] = $sender; $headers['Subject'] = $subject; $headers['MIME-Version'] = "1.0"; $headers['Content-Type'] = 'text/plain; charset="iso-2022-jp"'; $headers['Content-Transfer-Encoding'] = "8bit"; $headers['X-Mailer'] = "PHP PEAR/Mail(smtp)"; $smtp->send($recipient, $headers, $message); if (PEAR::isError($smtp)) die($smtp->getMessage()); exit("メッセージを送信しました"); ?>
- php504
- ベストアンサー率42% (926/2160)
自宅のパソコンにインストールされているのですね Outlookで受診作業を行った後すぐにメールフォームを実行したらどうなりますか これでメールが送信できるようならスクリプトに認証部分を追加する必要があります。
補足
早速の回答ありがとうございます。 Microsoft Outlook2002を使用していますが、参考URLにあったように送受信ボタンを2度押し、即送信してみました(POP before SMTPを参照しました)。 が、同様のエラーが出てきました。 どうしようもできず、途方にくれています。 どうしたらいいでしょうか。
お礼
pha504さん お返事遅くなってすいませんでした。 なんとかできました。 ありがとうございました。