私はこれまでしばらくの間これと戦っています。フォーム用のカスタムコンポーネントを作成しました。Joomlaのメール機能を使用してメールを送信します。すべてのデータをチェックして正しいことを確認しましたが、電子メールが送信さ$mailer->Send()
れず、trueも返されます。
すべてのスタイルのエラー報告をオンにしても、エラーは報告されません。
$mailer = JFactory::getMailer();
$mailer->setSender($settings->sender);
$mailer->addRecipient($settings->to);
$mailer->setSubject($settings->subject);
$mailer->isHTML(true);
$mailer->setBody($settings->body);
if($send = $mailer->Send()){
//email worked
//print_r($settings);
//exit;
}else{
echo 'error';
exit;
}
これは、メールが送信されるコンポーネントの中心です。$ settingsは、メールを送信するために必要な情報を保存するために使用するオブジェクトであり、「成功した」送信として読み取られた後、すべての適切な情報を出力します。どのマンドリルでも、電子メールに使用するサービスは電子メールを取得しません。つまり、私が知る限り、SMTPへの接続に失敗したことを意味します。つまり、接続のある時点でエラーが発生したはずですが、Joomlaはそれを確認できません。
この同じコードは他の多くのサイトで機能します。問題のサイトはサブドメインであり、hostgatorでホストされていますが、どのような形式のエラーもなければ、修正を探す場所がわかりません。
簡単なスクリプトまたは標準のJoomla連絡フォームを試して、それが機能するかどうか確認しましたか?そうでない場合は、メール設定またはサーバーの問題の可能性があります。
—
ロバートは