ホームページ >バックエンド開発 >PHPチュートリアル >Symfony Mailerを使用してPHPでメールを送信します
この記事では、Symfony Mailer Libraryに飛び込みます。これにより、PHPアプリケーションからメールを送信できます。インストールと構成から始めて、Symfony Mailer Libraryを使用して電子メールを送信するすべての側面を実証する実際の例を段階的に説明します。
PHPアプリケーションで電子メールを送信する際に選択するさまざまな方法があります。電子メール機能をすばやくセットアップするために、独自のラッパーを作成することになることさえあります。ただし、手入れの行き届いた機能が豊富なライブラリを使用している場合は、常に幸運です。
Symfony Mailerは、PHPアプリケーションから電子メールを送信するための人気のライブラリであり、PHPコミュニティに広く受け入れられています。機能が豊富なライブラリは、送信されるメッセージのカスタマイズまでのさまざまな方法を設定することから、電子メールの送信のほぼすべての側面をカバーするためです。また、Swift Mailer Libraryのことを聞いたことがあるなら、それはSymfony Mailer Libraryの前身です。SymfonyMailerは新しい改良版です。
実際、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... ?>電子メールスクリプトを作成します
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... ?>
次に、ファイルを電子メールに添付する方法を見てみましょう。
テキストメソッドを使用できます。
<?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 サイトの他の関連記事を参照してください。