Rumah > pembangunan bahagian belakang > tutorial php > Hantar e -mel di PHP menggunakan simfoni pengirim

Hantar e -mel di PHP menggunakan simfoni pengirim

Joseph Gordon-Levitt
Lepaskan: 2025-03-05 09:55:09
asal
884 orang telah melayarinya

Send Emails in PHP Using Symfony Mailer

Artikel ini akan menyelam ke perpustakaan Symfony Mailer, yang membolehkan anda menghantar e -mel dari aplikasi PHP. Bermula dengan pemasangan dan konfigurasi, kami akan langkah demi langkah menerangkan contoh kehidupan sebenar yang menunjukkan semua aspek menghantar e-mel menggunakan Perpustakaan Mailer Symfony.

Apa itu Simfony Mailer?

Anda mempunyai pelbagai cara untuk memilih semasa menghantar e -mel dalam aplikasi PHP. Anda mungkin akhirnya membuat pembalut anda sendiri untuk menyediakan ciri -ciri e -mel anda dengan cepat. Walau bagaimanapun, jika anda menggunakan perpustakaan yang terawat dengan baik dan kaya, anda sentiasa bertuah.

Symfony Mailer adalah perpustakaan yang popular untuk menghantar e -mel dari aplikasi PHP dan diterima secara meluas oleh komuniti PHP. Ia adalah perpustakaan yang kaya dengan ciri kerana ia meliputi hampir semua aspek menghantar e-mel, dari menyediakan cara yang berbeza untuk memindahkan untuk menyesuaikan mesej yang dihantar. Juga, jika anda telah mendengar Perpustakaan Swift Mailer, ia adalah pendahulu Perpustakaan Symfony Mailer -Symfony Mailer adalah versi baru dan bertambah baik.

Malah, menghantar e -mel menggunakan perpustakaan Symfony Mailer adalah proses yang sangat mudah.

    Mulakan objek pemindahan (SMTP atau Sendmail)
  1. Mulakan objek pengirim menggunakan pemindahan ini
  2. Mulakan objek e -mel
  3. format dan hantar e -mel
Di bahagian seterusnya, kami akan menunjukkan setiap langkah di atas dengan contoh sebenar.

  1. Pemasangan dan Konfigurasi

Dalam bahagian ini, saya akan menunjukkan kepada anda cara memasang dan mengkonfigurasi Perpustakaan Mailer Symfony. Pemasangan sangat mudah kerana ia sudah tersedia sebagai pakej komposer. Sebelum kami meneruskan, pastikan anda memasang komposer kerana kami memerlukannya untuk memasang perpustakaan Simfony Mailer.

Selepas memasang komposer, gunakan arahan berikut untuk mendapatkan perpustakaan simfoni.

$ composer require symfony/mailer
Salin selepas log masuk
Salin selepas log masuk
Dengan cara ini, Perpustakaan Mailer Symfony perlu dipasang, serta kebergantungan yang diperlukan dalam direktori

vendor . Kandungan komposer.json sepatutnya seperti berikut:

{
    "require": {
        "symfony/mailer": "^5.4"
    }
}
Salin selepas log masuk
Salin selepas log masuk
Ini adalah bahagian pemasangan, tetapi bagaimana anda harus menggunakannya? Ini hanya menjadi masalah dengan memasukkan fail

Autoload.php yang dibuat oleh komposer dalam aplikasi anda, seperti yang ditunjukkan dalam coretan kod di bawah.

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

// your application code...
?>
Salin selepas log masuk
Salin selepas log masuk
  1. Buat skrip e -mel

kami telah meneroka cara memasang perpustakaan simfoni Mailer menggunakan komposer. Sekarang mari kita mula melaksanakan contoh sebenar.

Teruskan membuat fail

e -mel

mari kita lihat bagaimana kod ini berfungsi.
<?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/imghw/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);
Salin selepas log masuk
Salin selepas log masuk

Langkah 1: Mulakan simfoni pengirim

Perpustakaan Symfony Mailer menyokong kaedah penghantaran yang berbeza seperti SMTP dan Sendmail semasa menghantar e -mel. Jadi perkara pertama yang perlu anda lakukan ialah memulakan objek SendmailTransport.

Selepas membuat pemindahan, kita perlu memulakan objek e -mel dan menghiasnya dengan sifat yang diperlukan.
$transport = new SendmailTransport();
Salin selepas log masuk
Salin selepas log masuk
$ composer require symfony/mailer
Salin selepas log masuk
Salin selepas log masuk

Sekarang, kami akan menetapkan alamat "dari" e -mel menggunakan kaedah dari.

{
    "require": {
        "symfony/mailer": "^5.4"
    }
}
Salin selepas log masuk
Salin selepas log masuk

Seterusnya, mari kita tetapkan alamat "ke" e -mel.

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

// your application code...
?>
Salin selepas log masuk
Salin selepas log masuk

Langkah 3: Lampirkan fail

Seterusnya, mari kita lihat cara melampirkan fail ke e -mel.

anda boleh menggunakan kaedah teks.

<?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/imghw/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);
Salin selepas log masuk
Salin selepas log masuk

Jika anda ingin menetapkan versi HTML mesej, anda boleh menggunakan objek Mailer untuk menghantar mesej.

$transport = new SendmailTransport();
Salin selepas log masuk
Salin selepas log masuk

Cuba menjalankan skrip dan anda harus menerima e -mel!

Kesimpulan

Hari ini, kami melihat salah satu perpustakaan menghantar e -mel PHP yang paling popular: Symfony Mailer. Dengan perpustakaan ini, anda boleh menghantar e -mel dari skrip PHP dengan mudah.

Atas ialah kandungan terperinci Hantar e -mel di PHP menggunakan simfoni pengirim. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan