Heim >Backend-Entwicklung >PHP-Tutorial >Senden Sie E -Mails in PHP mit Symfony Mailer

Senden Sie E -Mails in PHP mit Symfony Mailer

Joseph Gordon-Levitt
Joseph Gordon-LevittOriginal
2025-03-05 09:55:09892Durchsuche

Send Emails in PHP Using Symfony Mailer

Dieser Artikel taucht in die Symfony Mailer -Bibliothek ein, mit der Sie E -Mails von PHP -Anwendungen senden können. Beginnend mit der Installation und Konfiguration werden wir Schritt für Schritt ein Beispiel für ein reales Leben erläutern, das alle Aspekte des Sendens von E-Mails mithilfe der Symfony Mailer-Bibliothek demonstriert.

Was ist Symfony Mailer?

Sie haben eine Vielzahl von Möglichkeiten zu wählen, wenn Sie E -Mails in einer PHP -Anwendung senden. Möglicherweise erstellen Sie sogar Ihre eigene Wrapper, um Ihre E -Mail -Funktionen schnell einzurichten. Wenn Sie jedoch eine gut gepflegte und mit Feature-reichen Bibliothek verwenden, haben Sie immer Glück.

Symfony Mailer ist eine beliebte Bibliothek zum Senden von E -Mails von PHP -Anwendungen und wird von der PHP -Community weit verbreitet. Es handelt sich um eine Funktionsbibliothek, da sie fast alle Aspekte des Sendens von E-Mails abdeckt, von der Einrichtung verschiedener Möglichkeiten zur Übertragung der gesendeten Nachrichten. Wenn Sie von der Swift Mailer -Bibliothek gehört haben, ist dies der Vorgänger der Symfony Mailer Library - Symfony Mailer ist eine neue und verbesserte Version.

In der Tat ist das Senden von E -Mails mit der Symfony Mailer Library ein sehr einfacher Prozess.

    Initialisieren Sie das Objekt der Übertragung (SMTP oder Sendmail)
  1. initialisieren Sie das Mailer -Objekt mit dieser Übertragung
  2. initialisieren Sie das E -Mail -Objekt
  3. Format und senden Sie eine E -Mail
Im nächsten Abschnitt werden wir jede der oben genannten Schritte mit einem echten Beispiel demonstrieren.

  1. Installation und Konfiguration

In diesem Abschnitt zeige ich Ihnen, wie Sie die Symfony Mailer -Bibliothek installieren und konfigurieren. Die Installation ist sehr einfach, da sie bereits als Komponistenpaket erhältlich ist. Bevor wir fortfahren, stellen Sie sicher, dass der Komponist so installiert ist, dass wir die Symfony Mailer -Bibliothek installieren müssen.

Verwenden Sie nach der Installation des Komponisten den folgenden Befehl, um die Symfony Mailer -Bibliothek zu erhalten.

$ composer require symfony/mailer
Auf diese Weise sollte die Symfony Mailer -Bibliothek sowie die erforderlichen Abhängigkeiten im Verzeichnis

Verkäufer installiert werden. Der Inhalt des neu erstellten Composer.json sollte wie folgt sein:

Dies ist der Installationsteil, aber wie sollten Sie ihn verwenden? Dies ist nur ein Problem bei der Einbeziehung der von Composer in Ihrer Anwendung erstellten
{
    "require": {
        "symfony/mailer": "^5.4"
    }
}
autoload.php

, wie im folgenden Code -Snippet gezeigt.

<?php
require_once './vendor/autoload.php';

// your application code...
?>
    Erstellen Sie ein E -Mail -Skript
  1. Wir haben untersucht, wie die Symfony Mailer -Bibliothek mit Composer installiert wird. Lassen Sie uns nun ein echtes Beispiel implementieren.

Erstellen Sie weiterhin die Datei

E -Mail.php

, die den folgenden Inhalt enthält.

Lassen Sie uns sehen, wie dieser Code funktioniert.
<?php
require_once './vendor/autoload.php';

use Symfony\Component\Mailer\Transport;
use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mime\Email;

// 创建一个传输对象
$transport = Transport::fromDsn('smtp://username:password@hostname:port');

// 创建一个邮件器对象
$mailer = new Mailer($transport);

// 创建一个电子邮件对象
$email = (new Email());

// 设置“发件人地址”
$email->from('sender@example.test');

// 设置“收件人地址”
$email->to('recepient@example.test');

// 设置“主题”
$email->subject('使用Symfony Mailer库的演示邮件。');

// 设置纯文本“正文”
$email->text('这是邮件的纯文本正文。\n感谢,\n管理员');

// 设置HTML“正文”
$email->html('这是邮件的HTML版本。<br><br>内联图像示例:<br><img src="/static/imghwm/default1.png" data-src="http://publicdata.comcid:nature" class="lazy" alt="Send Emails in PHP Using Symfony Mailer "><br><br>感谢,<br>管理员');

// 添加“附件”
$email->attachFromPath('/path/to/example.txt');

// 添加“图像”
$email->embed(fopen('/path/to/mailor.jpg', 'r'), 'nature');

// 发送邮件
$mailer->send($email);

Schritt 1: Symfony Mailer initialisieren

Die Symfony Mailer -Bibliothek unterstützt verschiedene Übertragungsmethoden wie SMTP und Sendmail beim Senden von E -Mails. Das erste, was Sie tun müssen, ist das Sendmailtransport -Objekt initialisieren.

Nach dem Erstellen der Übertragung müssen wir ein E -Mail -Objekt initialisieren und mit den erforderlichen Eigenschaften dekorieren.
$transport = new SendmailTransport();
$ composer require symfony/mailer

Jetzt setzen wir die "From" -Ade der E -Mail mit der From -Methode fest.

{
    "require": {
        "symfony/mailer": "^5.4"
    }
}

Setzen wir als nächstes die Adresse der E -Mail "to".

<?php
require_once './vendor/autoload.php';

// your application code...
?>

Schritt 3: Fügen Sie die Datei

bei

Weiter sehen wir, wie Sie Dateien an E -Mails anhängen.

Sie können die Textmethode verwenden.

<?php
require_once './vendor/autoload.php';

use Symfony\Component\Mailer\Transport;
use Symfony\Component\Mailer\Mailer;
use Symfony\Component\Mime\Email;

// 创建一个传输对象
$transport = Transport::fromDsn('smtp://username:password@hostname:port');

// 创建一个邮件器对象
$mailer = new Mailer($transport);

// 创建一个电子邮件对象
$email = (new Email());

// 设置“发件人地址”
$email->from('sender@example.test');

// 设置“收件人地址”
$email->to('recepient@example.test');

// 设置“主题”
$email->subject('使用Symfony Mailer库的演示邮件。');

// 设置纯文本“正文”
$email->text('这是邮件的纯文本正文。\n感谢,\n管理员');

// 设置HTML“正文”
$email->html('这是邮件的HTML版本。<br><br>内联图像示例:<br><img src="/static/imghwm/default1.png" data-src="http://publicdata.comcid:nature" class="lazy" alt="Send Emails in PHP Using Symfony Mailer "><br><br>感谢,<br>管理员');

// 添加“附件”
$email->attachFromPath('/path/to/example.txt');

// 添加“图像”
$email->embed(fopen('/path/to/mailor.jpg', 'r'), 'nature');

// 发送邮件
$mailer->send($email);

Wenn Sie die HTML -Version der Nachricht festlegen möchten, können Sie das Mailer -Objekt verwenden, um die Nachricht zu senden.

$transport = new SendmailTransport();

Versuchen Sie, das Skript auszuführen, und Sie sollten eine E -Mail erhalten!

Schlussfolgerung

Heute haben wir uns eine der beliebtesten PHP -E -Mail -Senden -Bibliotheken angesehen: Symfony Mailer. Mit dieser Bibliothek können Sie problemlos E -Mails von PHP -Skripten senden.

Das obige ist der detaillierte Inhalt vonSenden Sie E -Mails in PHP mit Symfony Mailer. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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