Heim > Backend-Entwicklung > PHP-Tutorial > So senden Sie E-Mails (Gmail) über das integrierte CakePHP-Modul

So senden Sie E-Mails (Gmail) über das integrierte CakePHP-Modul

藏色散人
Freigeben: 2023-04-10 08:14:01
nach vorne
3508 Leute haben es durchsucht

Dieser Artikel stellt vor, wie man E-Mails (Gmail) über das integrierte Modul von CakePHP sendet. Ich hoffe, dass er für alle hilfreich ist.

Effekt

Die Funktion zum Senden von E-Mails wird durch die vorherige Konfiguration des Moduls realisiert. (Dieser Code kann die sendende E-Mail-Adresse nicht basierend auf Benutzereingabeinformationen ändern)

Voraussetzung

Leser verfügen bereits über Grundkenntnisse von CakePHP

Version

CakePHP 3.6.1
PHP 7.4.10

Vorbereitung

'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',
     ],
 ],
Nach dem Login kopieren

Gehen Sie zu einer beliebigen Controller.php und schreiben Sie die Funktion zum Senden von E-Mails.
*Hier gibt es einen Verweis auf 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);
        }
    }
Nach dem Login kopieren

Schreiben Sie die Route in configroutes.php

$routes->connect('/send', ['controller' => 'ControllerName', 'action' => 'send']);
Nach dem Login kopieren
Zugriff, Test
So senden Sie E-Mails (Gmail) über das integrierte CakePHP-Modul

Fehlerbericht,Dies liegt daran, dass die Sicherheitsstufe von Google Mail zu hoch ist.

Melden Sie sich bei Ihrem Google Account Management Center an –>Sicherheit

Schalten Sie die Bestätigung in zwei Schritten aus

So senden Sie E-Mails (Gmail) über das integrierte CakePHP-Modul

Zugriff aktivieren

So senden Sie E-Mails (Gmail) über das integrierte CakePHP-Modul

So senden Sie E-Mails (Gmail) über das integrierte CakePHP-Modul

Aktualisieren Sie dann die Seite. Sie können feststellen, dass wir erfolgreich E-Mails gesendet haben über Google Mail.
So senden Sie E-Mails (Gmail) über das integrierte CakePHP-Modul

Für die Kontosicherheit denken Sie daran, die Sicherheitsstufe nach erfolgreichem Test zu erhöhen.

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo senden Sie E-Mails (Gmail) über das integrierte CakePHP-Modul. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:segmentfault.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage