ホームページ >バックエンド開発 >PHPチュートリアル >Symfony Mailerを使用してPHPでメールを送信します

Symfony Mailerを使用してPHPでメールを送信します

Joseph Gordon-Levitt
Joseph Gordon-Levittオリジナル
2025-03-05 09:55:09887ブラウズ

Send Emails in PHP Using Symfony Mailer

この記事では、Symfony Mailer Libraryに飛び込みます。これにより、PHPアプリケーションからメールを送信できます。インストールと構成から始めて、Symfony Mailer Libraryを使用して電子メールを送信するすべての側面を実証する実際の例を段階的に説明します。

Symfony Mailerとは何ですか?

PHPアプリケーションで電子メールを送信する際に選択するさまざまな方法があります。電子メール機能をすばやくセットアップするために、独自のラッパーを作成することになることさえあります。ただし、手入れの行き届いた機能が豊富なライブラリを使用している場合は、常に幸運です。

Symfony Mailerは、PHPアプリケーションから電子メールを送信するための人気のライブラリであり、PHPコミュニティに広く受け入れられています。機能が豊富なライブラリは、送信されるメッセージのカスタマイズまでのさまざまな方法を設定することから、電子メールの送信のほぼすべての側面をカバーするためです。また、Swift Mailer Libraryのことを聞いたことがあるなら、それはSymfony Mailer Libraryの前身です。SymfonyMailerは新しい改良版です。

実際、Symfony Mailer Libraryを使用して電子メールを送信することは非常に簡単なプロセスです。

  1. 転送(smtpまたはsendmail)オブジェクトの初期化
  2. この転送を使用して、
  3. メーラーオブジェクトを初期化します
  4. 電子メールオブジェクトを初期化
  5. フォーマットと電子メールを送信します

次のセクションでは、実際の例で上記のそれぞれの手順を示します。

  1. インストールと構成

このセクションでは、Symfony Mailer Libraryのインストールと構成方法を紹介します。インストールは、作曲家パッケージとして既に利用可能であるため、非常に簡単です。先に進む前に、Symfony Mailer Libraryをインストールするために必要なので、作曲家がインストールされていることを確認してください。

作曲家をインストールした後、次のコマンドを使用してSymfony Mailer Libraryを取得します。

このようにして、
$ composer require symfony/mailer
ベンダー

ディレクトリに必要な依存関係と同様に、Symfony Mailer Libraryをインストールする必要があります。新しく作成されたcomposer.jsonの内容は次のとおりです。 これはインストール部分ですが、どのように使用する必要がありますか?これは、以下のコードスニペットに示すように、アプリケーションでComposerが作成した

autoload.php
{
    "require": {
        "symfony/mailer": "^5.4"
    }
}
ファイルを含めることの問題です。

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

// your application code...
?>
電子メールスクリプトを作成します
  1. Composerを使用してSymfony Mailer Libraryをインストールする方法を検討しました。それでは、実際の例の実装を始めましょう。
次のコンテンツを含む

email.php

ファイルを作成し続けます。

このコードの仕組みを見てみましょう。

<?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);
ステップ1:Symfony Mailerを初期化

Symfony Mailer Libraryは、電子メールを送信する際にSMTPやSendMailなどのさまざまな送信方法をサポートしています。したがって、最初に行う必要があるのは、sendmailtransportオブジェクトを初期化することです。

転送を作成した後、電子メールオブジェクトを初期化し、必要なプロパティで飾る必要があります。

$ composer require symfony/mailer

次に、Methodを使用して電子メールの「From」アドレスを設定します。

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

次に、電子メールの「to」アドレスを設定しましょう。

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

// your application code...
?>

ステップ3:ファイルを添付してください

次に、ファイルを電子メールに添付する方法を見てみましょう。

テキストメソッドを使用できます。

<?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);

メッセージのHTMLバージョンを設定する場合は、Mailerオブジェクトを使用してメッセージを送信できます。

$transport = new SendmailTransport();

スクリプトを実行してみてください。メールを受信する必要があります!

結論

今日、私たちは最も人気のあるPHPメール送信ライブラリの1つであるSymfony Mailerを見ました。このライブラリを使用すると、PHPスクリプトから簡単にメールを送信できます。

以上がSymfony Mailerを使用してPHPでメールを送信しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。