問題タブ [cakeemail]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
98 参照

cakephp - CakeEmail が送信されないのはなぜですか?

フォーム ボタンが押された後、view.ctp ファイルから次の関数が呼び出されます。しかし、何も受信されていません。何かアドバイス?

0 投票する
1 に答える
544 参照

php - メールのモックメソッドを使用したテーブルのないCakePHP 2テストモデル

テーブルがないモデルのテストを作成しようとしていますが、データが CakePHP 2 での検証に合格した場合にメールを送信します。

テストするために、一部のデータが検証に合格したため、実際にメールを送信せずにメールを送信することを主張したいと思います。このために、CakeEmail のモック メソッドを作成しようとしています。ただし、モック メソッドに対して $useDbConfig が定義されていないため、テストは失敗します。

これはモデルにテーブルがない問題だと思いますが、解決方法がわかりません。

私のモデルは次のようになります (検証ルールを除く):-

私のテストは: -

どんな助けでも大歓迎です。テストを使用してCakeのメソッドをモックしようとした/必要としたのはこれが初めてです。

0 投票する
0 に答える
825 参照

php - CakePHP CakeEmail メールを送信できませんでした

既存のスレッドをほぼすべて調べましたが、まだ問題が見つからないため、新しいスレッドを投稿することにしました。

ライブ サーバーで実行しているコードがあり、電子メール機能は問題なく動作しています。これは請負業者によってセットアップされたもので、彼は CakePHP のセットアップ方法に関するドキュメントを残していませんでした。

ライブ サーバーとまったく同じように動作するようにステージング サーバーをセットアップする必要があります。電子メール機能を除いて、すべてが機能していると思います。両方のサーバーでまったく同じコードを実行しているので、ステージング サーバーに何かをインストールしたり構成を設定したりしていないことは確かです。

では、CakeEmail に必要なフレームワーク/モジュール/ライブラリは何ですか? それに必要な構成は何ですか?

私はCakePHP 2.3.4で実行しています

ここに私のコードスニペットがあります:

email.php で:

そして、私はこのスタックトレースを取得しています:

例外: メールを送信できませんでした。ファイル: /var/www/MySite/lib/Cake/Network/Email/MailTransport.php 行: 70 トレース: 0 /var/www/MySite/lib/Cake/Network/Email/MailTransport.php(47): MailTransport- >_mail('staging@gmail.c...', 'hsbsv vdbeh lik...', 'hsbsv vdbeh lik...', 'From: MySite...', NULL)

1 /var/www/MySite/lib/Cake/Network/Email/CakeEmail.php(1071): MailTransport->send(オブジェクト(CakeEmail))

2 /var/www/MySite/app/Model/Notification.php(238): CakeEmail->send('hsbsv vdbeh lik...')

3 [内部関数]: Notification->afterSave(true, Array)

4 /var/www/MySite/lib/Cake/Event/CakeEventManager.php(246): call_user_func_array(配列、配列)

5 /var/www/MySite/lib/Cake/Model/Model.php(1772): CakeEventManager->dispatch(Object(CakeEvent))

6 /var/www/MySite/app/Controller/CommentsController.php(160): Model->save(配列)

7 [内部関数]: CommentsController->add()

8 /var/www/MySite/lib/Cake/Controller/Controller.php(486): ReflectionMethod->invokeArgs(Object(CommentsController), Array)

9 /var/www/MySite/lib/Cake/Routing/Dispatcher.php(187): Controller->invokeAction(Object(CakeRequest))

10 /var/www/MySite/lib/Cake/Routing/Dispatcher.php(162): Dispatcher->_invoke(Object(CommentsController), Object(CakeRequest), Object(CakeResponse))

11 /var/www/MySite/app/webroot/index.php(109): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse))

12 {メイン}

0 投票する
1 に答える
297 参照

cakephp - CakeEmail が機能しない

これは私の controller の 1 つでの cakephp メソッドの私のコードですが、アカウントにメールが来ていません。これについて本当に助けが必要です。

変数を印刷$ccすると、配列の出力が得られますが、メールが正常に送信されたかどうかを知る方法がわかりません。

メールアカウントにメールが来ていないので、メールが正しく送信されていないか、私のコードに何らかのバグがあると思われます。

0 投票する
1 に答える
737 参照

cakephp - viewVars で 2 つの変数を渡す方法

viewVars でビュー $message[0] と $message[1] に 2 つの変数を送信する必要があります。これをどのように達成しますか?助けてください。

0 投票する
0 に答える
95 参照

cakephp - CakeEmail 添付ファイル

アプリケーションの開発に CakePHP を使用しています。今、添付ファイル「ics」を含む電子メールを送信しようとしていますが、「ファイルが見つかりません...」というエラーが表示されました。これまでに行ったことは次のとおりです。

0 投票する
1 に答える
671 参照

cakephp - HTML コンテンツを追加した後、Icalendar .ics に問題が表示されない

icalendar でこの問題が発生しました。gmail、yahoo、aoutlook.com に送信したときに、添付ファイルと確認ボタンが表示されません。HTMLメッセージとマルチパート/混合ヘッダーなしで以前は機能していました。メールを受信すると、カレンダーのテキストのみが表示され、認識されません。コンテンツ タイプ: マルチパート/混合。境界="982f8d486c3cbed0e28b314e7a433c3d"

前もって感謝します。

0 投票する
1 に答える
64 参照

php - すべてのメール送信前に関数を呼び出すにはどうすればよいですか?

受信者に基づいてテキストが動的に変化する約 50 の異なる電子メール テンプレートがあります。考えられるすべてのケースに対して異なるテンプレートを作成し、数十の異なるコントローラー ファイルに同様のロジックを含めるのではなく、各テンプレート内にケースの切り替えを含め、ケースを決定する変数をすべてのメールに適用したいと考えています。

たとえば、典型的なテンプレートは次のようになります。

$casebeforeEmail($to_address)受信者の電子メールに基づいてケースのすべての計算を行う関数によって設定されます。これらの計算は、すべてのメールで同じです。beforeEmail()メールが送信されるたびに呼び出されるようにするにはどうすればよいですか? より正確には、関数をどこに配置すればよいでしょうか?beforeEmail()

通常、この種のコードはビュー ファイル コントローラーに貼り付けますが、電子メールのビュー ファイルにはコントローラーがありません。どこかで静的関数を作成しbeforeEmail()て各ビューファイルで呼び出してみましたが、それは面倒で間違っているようです (ビューファイル内での関数呼び出しと、50 以上のファイルでのコードの重複が残ります)。

編集:$caseレイアウトファイルで変数を設定しようとしましたが、電子メールビューファイルの後にレイアウトが読み込まれることが判明したため、レイアウト内に設定された変数はビューファイルで使用できません。