0

ユーザーの登録時にコンポーネントからメールを送信しようとしています。PHPMail、Sendmail、SMTP の 3 つすべてを試しましたが、どれも機能しません。localhost (WampServer 2.2) でテストしており、Joomla のバージョンは 2.5.4 です。これが WampServer の問題なのか、Joomla なのか、私自身のコードなのかはわかりません。これは私のコードです:

function postmail($name, $receiver){

          jimport('joomla.mail.helper');

          $mailer =& JFactory::getMailer();

          $config =& JFactory::getConfig();
          $sender = array($config->getValue( 'config.mailfrom'),$config->getValue( 'config.fromname' ) );
          $mailer->setSender($sender);

          $recipient = $receiver;
          $mailer->addRecipient($recipient);

          $body   = "<body><br><p>"; 
          $body   .= "<strong>$name,</strong>&nbsp;";   
          $body   .= "</p><br></body>";

          $mailer->isHTML(true);
          $mailer->Encoding = 'base64';
          $mailer->setBody($body);

          $send =& $mailer->Send();

          if ( $send != true ) {
                    //echo 'Error sending email: ' . $send->message;
            return false;
          } else {
                    //echo 'Mail sent';
                return true;
          }
}       

「メール機能をインスタンス化できませんでした」というエラーが発生します。

4

2 に答える 2

0

問題が何であるかを理解するには、実際にエラーメッセージを取得する必要があります。

変化する

//echo 'Error sending email: ' . $send->message;

echo 'Error sending email:'.$send->get('message');

その後、再度実行します。発生するエラーは、インスタンス化されない理由を示しているはずです。私たちがあなたを助けることができるようにそれが何を言っているかを私たちに知らせてください。

于 2013-03-07T05:19:25.943 に答える
0

この問題を引き起こす多くの理由があると確信しています。ただし、テストするために、このツールをここにインストールすることで、いつでも独自のメールサーバーを作成できますhttp://www.toolheap.com/test-mail-server-tool/

joomla メール設定で smtp ホストとして localhost を設定し、Web サーバーの php.ini に smtp=localhost を追加する以外は、何も変更する必要はありません。それだけです。動作するはずです。

これは、コードが正しく、joomla で正しいメール設定を使用しているかどうかをテストするためのものです。これが機能しない場合、問題はコードではなく、メール設定にあると確信しています。

于 2013-02-03T16:03:00.020 に答える