ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

PEARコミュのMail::send()でエラーが出てしまいます@ErrCode:10004 ErrMsg:Failed to set sender

  • mixiチェック
  • このエントリーをはてなブックマークに追加
【環境】
<Version>
OS : Windows XP Pro
PHP : 4.3.11
PEAR : 1.5.*
IE : 6.0
Web Service : Apach 1.3.33

ローカルPCから実行しています。
---------------------

【質問内容】
PEAR::Mailを使ってメール送信プログラムを作成しています。
Mail::send()を実行すると、「Failed to set sender」と言ったエラーメッセージが返ってきてしまいます。

≪エラー詳細≫
Failed to set sender: t [SMTP: Invalid response code received from server (code: 501, response: command parameter syntax error)]

SMTPのレスポンスコードとして「501」が返されているのですが、【501 Bad parameters】とはどのパラメータのことでしょうか?

設定値は・・・
Mail::factory()ではbackendには「smtp」を指定して、「array() paramas」には以下のような値を設定しています。
=================
host = relay-mta.dion.ne.jp
port = 25
auth = [default:FALSE]
username = [blank]
password = [blank]
localhost = azure-groove.com
timeout = 10
verp = [default:FALSE]
debug = [default:FALSE]
persist = TRUE
=================
また「Failed to set sender:」ということなので、「From」Headerの値がおかしいのかと思ったのですが「takany16@azure-groove.com」を設定しています。


以上、どなたかわかる方いましたらよろしくお願いします。

コメント(4)

このSMTPホストは「Outbound Port25 Blocking」対策用のホストなのでPortは25のままでいいんです。
実際、メーラーではPort25のままで送信できています。
追加で質問です。

Header情報として設定している設定種類もしくは値が間違っているのでしょうか?
Header情報には以下を設定しています。
From、To、Cc、Bcc、Subject、Reply-To、Content-Type

そもそも設定可能なHeader情報って何になるんでしょうか?

※上記Header情報は、以前、PHPのmail()関数を使用していたときに設定していたものです。その時のBackendはSendMailでした。
解決しました。

原因がいまいちよくわかっていませんが(追求もしていないです)、PEARのMail_Mimeを使ってHeaderパラメータとBodyパラメータをエンコード(?)したら送信できました。

ただ、いろいろいぢくっていたので、もしかしたら何か間違ったパラメータをHeader情報とかに設定していたのかもしれない・・・(覚えていませんが 汗 すみません 汗)


あと、補足ですが・・・
PEARのMai::send()関数の第二引数の「array() header」にBCCやCCを追加するだけではBCC、CCに設定したアドレスに送信されませんでした。

こんな感じ。
==============
$headers["To"] = "to@mixi.com, to2@mixi.com";
$headers["Cc"] = "cc@mixi.com, cc2@mixi.com";
$headers["Bcc"] = bcc@mixi.com, bcc2@mixi.com";
$recipients = $headers["To"];
==============

上記だと「$headers["To"]」に設定されたアドレスにのみ送信されます。

ココ、かなり悩みました(汗)。

第一引数の「$recipients」にはCCやBCCで送信したい宛先アドレスも全て指定しておいて、第二引数の「array() header」にCCやBCCが設定されている場合、対象アドレスをCC、BCCにしたがって送信処理を行う・・・らしいです。

こんな感じ。

==============
$headers["To"] = "to@mixi.com, to2@mixi.com";
$headers["Cc"] = "cc@mixi.com, cc2@mixi.com";
$headers["Bcc"] = bcc@mixi.com, bcc2@mixi.com";
$recipients = $headers["To"] . ", " . $headers["Cc"] . ", " . $headers["Bcc"];
==============

以上、報告まででした。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

PEAR 更新情報

PEARのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング