1
ubuntuを実行している迷惑メールボックスがあり、postfixがインストールされており、コマンドラインからテストメールを送信できます。私はまた、PHPセッションを開始し、そこからメール機能を使ってメールを送信することもできます。Wordpressの中でmail()関数は動作しませんが、サーバとphpコマンドラインで動作します
しかし、Wordpressのスクリプトからmail()関数が機能せず、エラーをデバッグするとphpmailerクラスのエラー "メール関数をインスタンス化できませんでした"が表示されます。
phpmailerクラスがWordpressのphp mail関数をオーバーライドしているようです。どのように私はこの問題を解決することができます任意のアイデア。私はphpmailerクラスが期待しているメールの必須属性が欠落していると感じています。
エラーは、次の関数から来ている:、
protected function mailSend($header, $body)
{
$toArr = array();
foreach ($this->to as $toaddr) {
$toArr[] = $this->addrFormat($toaddr);
}
write_log('to arr');
write_log($toArr);
$to = implode(', ', $toArr);
write_log('to');
write_log($to);
write_log('sender');
write_log($this->Sender);
if (empty($this->Sender)) {
$params = ' ';
} else {
$params = sprintf('-f%s', $this->Sender);
}
write_log('params');
write_log($params);
if ($this->Sender != '' and !ini_get('safe_mode')) {
write_log('old_from');
write_log($old_from);
$old_from = ini_get('sendmail_from');
ini_set('sendmail_from', $this->Sender);
}
$result = false;
write_log($this->SingleTo);
if ($this->SingleTo && count($toArr) > 1) {
foreach ($toArr as $toAddr) {
$result = $this->mailPassthru($toAddr, $this->Subject, $body, $header, $params);
$this->doCallback($result, array($toAddr), $this->cc, $this->bcc, $this->Subject, $body, $this->From);
}
} else {
$result = $this->mailPassthru($to, $this->Subject, $body, $header, $params);
$this->doCallback($result, $this->to, $this->cc, $this->bcc, $this->Subject, $body, $this->From);
}
if (isset($old_from)) {
ini_set('sendmail_from', $old_from);
}
if (!$result) {
throw new phpmailerException($this->lang('instantiate'), self::STOP_CRITICAL);
}
return true;
}
とログの送信元でのparamsとold_fromメール機能は、あなたのワードプレスで作業されていない場合
申し訳ありませんが、私はメール機能が動作していると言っているような意味を持っていません。 Wordpress – weaveoftheride
で何かが見つからない場合は、サーバのフィルタを確認してください。 –
サーバのフィルタはどういう意味ですか? – weaveoftheride