• 締切済み

さくらサーバー pearメール

こんにちは、 さくらサーバーのスタンダードプランで下記の pearメール送信を実行してみたのですが、メールが届きません。 特にエラーなども表示されないのですが、何を確認すればよいでしょうか? (info@アカウント名.sakura.ne.jp 自分から自分に送ろうとしています。) アカウント名:メール用の設定がなかったのでftpと同じアカウント パスワード:メール用の設定がなかったのでftpと同じパスワード <?php //PEAR::Mailのインクルード require_once("Mail.php"); //日本語メールを送る際に必要 mb_language("Japanese"); mb_internal_encoding("UTF-8"); // SMTPサーバーの情報を連想配列にセット $params = array( "host" => "localhost", // SMTPサーバー名 "port" => 25, // ポート番号 "auth" => true, // SMTP認証を使用する "username" => "アカウント名", // SMTPのユーザー名 "password" => "パスワード" // SMTPのパスワード ); // PEAR::Mailのオブジェクトを作成 // ※バックエンドとしてSMTPを指定 $mailObject = Mail::factory("smtp", $params); // 送信先のメールアドレス $recipients = "info@アカウント名.sakura.ne.jp"; // メールヘッダ情報を連想配列としてセット $headers = array( "To" => "info@アカウント名.sakura.ne.jp", "From" => "info@アカウント名.sakura.ne.jp", "Subject" => mb_encode_mimeheader("メール件名") ); // メール本文 $body = "日本語メールの本文。"; // 日本語なのでエンコード $body = mb_convert_encoding($body, "ISO-2022-JP", "UTF-8"); // sendメソッドでメールを送信 $mailObject->send($recipients, $headers, $body); echo '終了'; ?>

みんなの回答

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

>アカウント名:メール用の設定がなかったのでftpと同じアカウント >パスワード:メール用の設定がなかったのでftpと同じパスワード info@アカウント名.sakura.ne.jp は有効なメールアカウントにしているんですよね(サーバのコンパネで確認してください)。その設定を使うべきだと思いますが・・・。 (蛇足) pear::mailだからといってsmtpを使わないといけないわけではありません。php標準のmailやmb_send_mailを避けたいだけなら(なぜ避けるのかわかりませんが)、バックエンド名を「mail」でなく「sendmail」にして直接sendmailに引き渡せばいいのでは?localhostに繋ぐのであればsendmailを使っても同じです。まして同じサーバの自分のアカウントに送るのですから。

関連するQ&A