ホームページ > バックエンド開発 > PHPチュートリアル > PHPマスター| Swift Mailerでメールを送信します

PHPマスター| Swift Mailerでメールを送信します

尊渡假赌尊渡假赌尊渡假赌
リリース: 2025-02-25 14:16:11
オリジナル
390 人が閲覧しました

PHP Master | Sending Email with Swift Mailer

PHPマスター| Swift Mailerでメールを送信します

キーテイクアウト

  • Swift Mailerは、PHP 5.2以上の要件を最小限に抑え、8MBの最小メモリ制限を使用して、プログラマーがオブジェクト指向のアプローチを使用して簡単に電子メールを送信できるようにする強力なコンポーネントベースのライブラリです。
  • Swift Mailerは、PEARを介して、またはFTPを使用してファイルをアップロードすることでインストールできます。これは、メーラー、トランスポーター、MIMEエンティティ、エンコーダー、プラグインなど、150を超えるクラスとインターフェイスで構成されています。
  • Swift Mailerは、複数の受信者、科目、およびプレーンテキスト本体を含む電子メールを作成する機能を提供します。また、添付ファイル、カスタムSMTP構成、および電子メールを受け取らない追跡受信者も可能にします。
  • Swift Mailerには、電子メール本文内の受信者名など、小さな違いを持つ複数の受信者に同じ電子メールを送信できるデコレータープラグインもあります。これは、購読者にニュースレターを送信するなどのタスクにとって有益です。
  • プログラムでメールを送信することは、プログラマーが頻繁に対処しなければならない一般的なタスクです。 PHPのネイティブ機能を使用できますが、特にメッセージに1つ以上のファイルを添付する場合は、低レベルになりすぎる場合があります。ネイティブ機能を使用したくない場合、またはオブジェクト指向のアプローチを使用してメールを送信したい場合は、これが記事です。電子メールを簡単に送信できる強力なコンポーネントベースのライブラリであるSwift Mailerを紹介します。 2005年に開始されたSwift Mailerは、PHPスクリプトまたはWebアプリケーション内から電子メールを送信できるクラスをいくつか提供するライブラリです。 Swift Mailerにはいくつかの要件がありますが、最小限です。ライブラリには、SPL拡張機能と8MBの最小メモリ制限でPHP 5.2以上が必要です。 公式の文書を引用して、Swift Mailerのインストールは些細なことです。通常、抽出されたソースファイルをWebサーバーにアップロードするだけです。ライブラリをインストールする最も簡単な方法は、洋ナシを使用するか、FTPを使用してファイルをアップロードすることです。 Pear Channelからのインストールは、タイプ2のコマンドの問題です。
  • 2番目の方法は、共有ホスティングを使用していて、コマンドシェルにアクセスできない場合、おそらく最も簡単な方法です。公式Webサイトからライブラリをダウンロードして、LIBフォルダーをアップロードするだけです。
  • クラスの迅速なメーラーファミリー
  • Swift Mailerは、150を超えるクラスといくつかのコンポーネントにグループ化されたインターフェイスで作られています。それらのそれぞれには特定の目的があります。
pear channel-discover pear.swiftmailer.org
pear install swift/swift
ログイン後にコピー
ログイン後にコピー
ログイン後にコピー
メーラー:SWIFT_MAILERクラスで実現されているメーラーは、ライブラリの中心クラスであり、メソッドsend()を介して実際に電子メールを送信するクラスです。そのコンストラクターは、カスタムSMTPを使用して電子メールを送信できるインターフェイスswift_transportを実装するクラスのインスタンスを受け入れます。
  • Transporters:インターフェイスswift_transportを実装しており、その範囲はサービスと通信して電子メールメッセージを配信することです。主なクラスは、SMTPプロトコル、SWIFT_SENDMAILTRANSPORTを使用するSWIFT_SMTPTRANSPORT、ローカルSendMail Execupableと通信するSWIFT_SENDMAILTRANSPORT、およびPHP Native Mail()関数に依存するSWIFT_MAILTRANSPORT。
  • MIMEエンティティ:これはライブラリの重要なコンポーネントです。 swift_messageと呼ばれるレシーバー、サブジェクト、ボディなどを指定するために使用するクラスは、グループ化されたいくつかのエンティティで作られています。エンティティの2つの例は、添付ファイルと電子メールヘッダーです。
  • エンコーダー:このコンポーネントは、舞台裏で行動するため、対処するものではありません。エンコーダーには2つのタイプがあります:base64と引用プリント可能です。彼らの目標は、コンテンツをRFC仕様に準拠する形式に変換することです。
  • プラグイン:これらは、Swift Mailerの基本機能を拡張するために使用されます。プラグインの一部はAntifloodです。これにより、単一のSMTP接続中に送信されるメッセージの数を制限できます。ロガーは、送信プロセス中に何が起こっているかを記録するために使用されます。電子メールテキストの違いをいくつか変更します。
  • 基本的な例
  • これまでのところ私と一緒に?良い。コンポーネントがライブラリでどのように整理されているかについてのアイデアが得られたので、手を汚し、Swiftメーラーのパワーと柔軟性を活用する方法を見てみましょう。この最初で非常にシンプルな例では、2人の受信者、被験者、プレーンテキスト本体がある電子メールの作成を紹介します。作成すると、受信者に送信されます。 次のコードでは、前のセクションで説明した3つのクラスを使用します:swift_mailtransport、swift_mailer、swift_message。さらに、コードの最初の行、ライブラリを使用するために必要なSwift MailerのAutoloaderを引くReques_onceに注意してください。
  • ご覧のとおり、swift_mailtransportを使用して、ネイティブPhp Mail()関数を使用するトランスポートレイヤーのインスタンスを作成します。次に、swift_messageを作成しました 電子メールオブジェクトと考えることができるインスタンス。次の行では、setto()メソッドを使用して受信者を設定し、setSubject()を使用して電子メールサブジェクト、setBody()を使用して電子メール本文、およびsetfrom()メソッドを使用して送信者を設定します。レイヤーが定義され、電子メールが作成された状態で、実際に電子メールを送信します。これは、swift_mailerクラスのsend()メソッドを使用して行われます。 添付ファイルを備えた例

    添付ファイルが今日の電子メールシステムの定番であることは間違いありません。誰も彼らなしでは生きることはできません。このやや複雑な例は、添付ファイルだけでなく他の機能もあるメールを送信する方法を示します。

    pear channel-discover pear.swiftmailer.org
    pear install swift/swift
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー
    2つの追加レシーバー、1つはCCに、2つ目はsetcc()とsetbcc()を使用してBCCの2つ目を使用しています。
  • attach()メソッドを使用してディスクから取得された1つの添付ファイル。
  • send()メソッドの2番目のパラメーターを使用して、受信者がメールを受信して​​いないことを知っています。
  • swift_smtptransportクラスを使用して設定されたsmtp の別のトランスポートレイヤーを使用しました。 SMTP
    pear channel-discover pear.swiftmailer.org
    pear install swift/swift
    ログイン後にコピー
    ログイン後にコピー
    ログイン後にコピー
    サーバーと接続ポートの2つのパラメーターを受け入れます。インスタンスを使用して、適切なユーザー名とパスワードを設定して、setusname()およびsetPassword()メソッドを使用してサーバーにアクセスします。次に、最初の例と同じように、swift_messageオブジェクトを作成し、受信者、件名などを設定しました。ただし、今回はsetcc()とsetbcc()も利用しました 推測するように、カーボンコピーおよびブラインドカーボンコピーの受信者を設定できる方法。 この例の重要な方法は、添付のファイルを使用してハードディスクから撮影されたファイルを添付しているAttach()です。今回は、send()メソッドの2番目のパラメーターを使用して取得した故障した受信者の数も印刷することに注意してください。 テンプレートを使用しています 3番目の最後の例は、デコレータープラグインの使用方法を示しています。これは、購読者にニュースレターを送信するなどに最適です。これにより、メール本体内の受信者名などの小さな違いを持つ複数の受信者に同じ電子メールを送信できます。プラグインはテンプレート(ボディ)内を見て、プレースホルダーを設定値に置き換えます。 プラグインを使用するには、最初にRegisterPlugin()メソッドを使用して登録し、次に交換値の配列を構築して使用する必要があります。次のコードでは、2つのプレースホルダー、

    username

    およびTransactionsを配置します。これは、ユーザーのメールを参照する値にプログラム的に置き換えられます。 デコレータープラグインコンストラクターは、1つのパラメーターを受け入れます。プレースホルダーを置き換える値の配列です。この配列の各値は、ユーザーの電子メールをそのキーと、プレースホルダー再配置ペアを含むサブアレイに使用します。これは、まさに$の交換アレイの目的です。上記の例では、プレースホルダーとして2つのブラケット内に文字列を使用しました(つまり、{FullName})しかし、あなたはあなたが望むものを何でも使うことができます。今回は、以前と同じステートメントにすべての受信者を設定していないため、forループを使用しました。これは、プラグインが送信プロセスをインターセプトし、受信者の電子メールを読み取り、交換用配列の値を使用してプレースホルダーを交換するために行われます。

    結論

    この記事では、Swift Maelerを使用してメールを簡単に送信する方法を示しました。これは非常に強力なライブラリであり、ご覧のとおり、OOPアプローチを使用して多くのことを行うことができます。もちろん、Swift Mailerには、この記事で説明していない他の多くの方法とクラスがあります。公式のドキュメントで勉強することはできますが、これは手間をかけずにメールを送信し始めるのに十分なはずです。 Fotoliaを介した画像 Swift Mailer

    に関するよくある質問

    Composerを使用してSwift Mailerをインストールするにはどうすればよいですか?

    ​​

    PHPの依存関係管理のためのツールであるComposerを使用して、Swift Mailerを簡単にインストールできます。 Swift Maelerをインストールするには、システムに作曲家をインストールする必要があります。 Composerをインストールしたら、プロジェクトディレクトリで次のコマンドを実行してSwift Maelerをインストールできます。Composerには「SwiftMailer/SwiftMailer:^6.0」が必要です。このコマンドは、ComposerにSwift Mailerパッケージとその依存関係をプロジェクトにダウンロードするように指示します。メーラーの構成とメッセージの送信。 Swift Mailerで電子メールを送信する方法の基本的な例を示します:

    $message =(new Swift_message())

    - > setSubject( 'hello')

    - > setfrom(['john@doe.com' => 'john doe'])
    - > setto(['receiver@domain.org'、 'other@domain.org' => 'a name'])
    - > setBody( 'これはメッセージ自体です') $ Transport =(新しいswift_smtptransport( 'smtp.example.org'、2​​5))
    - > setUsername( 'your username')
    - > setPassWord( 'Your Password');

    $ Mailer = new Swift_Mailer($ Transport);

    $ result = $ mailer-> send($ message);

    Swift Maelerを使用してメールに添付ファイルを追加するにはどうすればよいですか?
    ​​
    Swift Mailerを使用すると、添付ファイルをメールに追加できます。パス、文字列、または既存の迅速な添付ファイルからファイルを添付できます。パスからファイルを添付する方法の例は次のとおりです。 @doe.com '=>' John doe '])
    - > setto([' receiver@domain.org '])
    - > setBody('ここにメッセージがありますそれ自体 ')
    - > attach(swift_attachment :: frompath(' path/to/image.jpg '));
    Swift Mailerを使用すると、メッセージの本文をHTML文字列に設定し、コンテンツタイプを「テキスト/HTML」に設定することでHTMLメールを送信できます。例は次のとおりです。


    $ message =(new swift_message())
    - > setSubject( 'hello')
    - > setfrom(['john@doe.com' => 'john doe '])
    - > setto([' receiver@domain.org '])
    - > setBody('

    これは html ですメッセージ自体

    '、' text/html ');

    Swift Mailerでエラーを処理するにはどうすればよいですか?これらの例外をキャッチして、エラーを処理できます。例は次のとおりです。

    try {

    $ result = $ mailer-> send($ message);
    } catch(swift_transportexception $ e){
    echo 'がエラーがありました。電子メールの送信: '。 $ e-> getMessage();
    }

    gmailでswiftメーラーを使用するにはどうすればよいですか?

    Gmail SMTPサーバーでSMTPトランスポートを構成することにより、GmailでSwift Mailerを使用できます設定。例は次のとおりです。

    $ Transport =(new swift_smtptransport( 'smtp.gmail.com'、465、 'ssl'))

    - > setUsername( 'your gmail username')
    - > setPassWord( 'Your Gmail Password');

    Swift Mailerで複数のメールを送信するにはどうすればよいですか?
    複数のメッセージインスタンスを作成し、同じメーラーインスタンスで送信することにより、Swift Mailerで複数のメールを送信できます。例は次のとおりです。

    $ message1 =(new swift_message())

    - > setSubject( 'hello')

    - > setfrom(['john@doe.com' => 'john doe '])
    - > setto([' receiver1@domain.org '])
    - > setBody('ここにメッセージがありますそれ自体 ');

    $ message2 =(new swift_message())
    - > setSubject(' hello ')
    - > setfrom([' john@doe.com '=>' john doe '])
    - > setto([' Receiver2@domain.org '])
    - > setBody('ここにメッセージがありますそれ自体 ');

    $ result1 = $ maeler-> send($ message1);
    $ result2 = $ emaerer-> send($ message2);

    swiftを使用するにはどうすればよいですかSymfonyとのメーラー? Swift MailerはSymfonyと統合されており、サービスとして使用できます。メーラーサービスを取得し、それを使用してメッセージを送信することにより、SymfonyのSwift Mailerとともにメールを送信できます。例は次のとおりです。

    $ message =(new swift_message())

    - > setSubject( 'hello')

    - > setfrom(['john@doe.com' => 'john doe '])

    - > setto([' receiver@domain.org '])
    - > setBody('ここにメッセージがありますそれ自体 ');

    $ this-> get(' maeler ') - > send($ message);

    swiftメーラーで電子メールの優先順位を設定するにはどうすればよいですか?
    メッセージインスタンスでSetPriorityメソッドを呼び出すことにより、Swift Maelerを使用して電子メールの優先順位を設定できます。優先順位は、1(最高)から5(最低)の整数です。例は次のとおりです。

    $ message =(new swift_message())

    - > setSubject( 'hello')

    - > setfrom(['john@doe.com' => 'john doe '])

    - > setto([' receiver@domain.org '])

    - > setBody('ここにメッセージ自体があります ')
    - > setpriority(1);

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

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート