ホームページ >バックエンド開発 >PHPチュートリアル >CakePHP 組み込みモジュールを介して電子メール (Gmail) を送信する方法

CakePHP 組み込みモジュールを介して電子メール (Gmail) を送信する方法

藏色散人
藏色散人転載
2021-06-11 11:45:063501ブラウズ

この記事では、CakePHP の組み込みモジュールを使用してメール (Gmail) を送信する方法を紹介します。参考になる内容です。困っている友達は参考にしてください。皆様のお役に立てれば幸いです。

効果

メール送信機能はモジュールの設定により実現しますあらかじめ。 (このコードはユーザー入力情報に基づいて送信メール アドレスを変更することはできません)

前提条件

読者はすでに CakePHP

バージョン## の基本的な知識を持っています。
#CakePHP 3.6.1

PHP 7.4.10

Preparation
\config\app.php 次の設定を追加します (メール情報を忘れずに置き換えてください)

'EmailTransport' => [
        'default' => [
            'className' => 'Smtp',
            'host' => 'smtp.gmail.com',
            'port' => 587,
            'timeout' => 30,
            'username' => 'name@gmail.com',
            'password' => '12345678',
            'tls' => true,
            'url' => env('EMAIL_TRANSPORT_DEFAULT_URL', null),
        ],
    ],
'Email' => [
     'default' => [
         'transport' => 'default',
         'from' => 'name@gamail.com',
         //'charset' => 'utf-8',
         //'headerCharset' => 'utf-8',
     ],
 ],
任意のController.phpに移動し、電子メールを送信するための関数を作成します。

*ここに参照があります stackoverflow

//在最上面加载模块
use Cake\Mailer\Email;

//在任意class下写邮件发送的函数
public function send()
    {
        $email = new Email('default');
        try {
            $email->setFrom(['name@gmail.com' => 'My Site'])
                ->setTo('接受者邮箱@126.com')
                ->setSubject('主题')
                ->send('本文');
            echo "success";
        } catch (\Cake\Network\Exception\SocketException $exception) {
            $lastResponse = $email->transport()->getLastResponse();
            var_dump($lastResponse);
        }
    }
\config\routes.php

$routes->connect('/send', ['controller' => 'ControllerName', 'action' => 'send']);
にルートを書き込み、test
CakePHP 組み込みモジュールを介して電子メール (Gmail) を送信する方法エラー レポート、

gmail のセキュリティレベルが高すぎるためです。

Google アカウント管理センターにログイン -> セキュリティ

2 段階認証をオフにする


CakePHP 組み込みモジュールを介して電子メール (Gmail) を送信する方法

アクセスを有効にする

CakePHP 組み込みモジュールを介して電子メール (Gmail) を送信する方法

CakePHP 組み込みモジュールを介して電子メール (Gmail) を送信する方法#ページを更新すると、gmail 経由でメールが正常に送信されたことがわかります。


CakePHP 組み込みモジュールを介して電子メール (Gmail) を送信する方法

アカウントのセキュリティのため、テストが成功した後は、セキュリティ保護レベルを高めることを忘れないでください。

推奨学習: 「PHP ビデオ チュートリアル

以上がCakePHP 組み込みモジュールを介して電子メール (Gmail) を送信する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。