オフィスのプリンターがどこからでも巧みに手紙を送信しているのを見て、私は手紙の簡単な送信者を実装することにしました。 利用可能なツールには、swiftmailerモジュールが組み込まれたYii 2フレームワーク、VirtualBox上の仮想Ubuntu(phpとWebサーバーをローカルにインストールする場合もありません)。
それでは始めましょう。
サーバーフォルダーに基本的なYii 2アプリケーションをインストールします。 次の画像を受け取ったら、先に進むことができます。

次に、アプリケーション構成ファイル
/config/web.phpを変更する必要があります。 パラメーター
'useFileTransport'は 、エラーをキャッチするために、最初は
trueに設定されてい
ます 。 この値を使用すると、ファイル形式の文字は
/ runtime / mailフォルダーに分類されます。 そこで、レターのメインヘッダーをチェックし、設定が正しいことを確認できます。
正しく送信するには、既存のメールサービスをトランスポートとして使用する必要があります。 gmail.comメールの設定例を次に示します。
企業環境内で送信するには、サーバー名とそのIPアドレスの両方を使用できます。 私の場合、Microsoft製品に基づいて構築された企業環境があります。 例として考えます。 Exchangeサーバーが必須のユーザー検証用に構成されていない場合は、
「ユーザー名 」フィールドと
「パスワード」フィールドにまったく何も指定できません。 ただし、送信されたレターが受信者のスパムフォルダーに入らないという保証はありません。
'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'useFileTransport' => false, 'transport' => [ 'class' => 'Swift_SmtpTransport', 'host' => 'exchange.example.com',
メッセージがスパム対策によってフィルタリングされないようにするには、Exchangeサーバーで承認するためのドメインユーザー名とパスワードを入力する必要があります。
次に、
/ modelsフォルダーに
MailerForm.phpモデルを作成します。
/ views / site / folderにあるフォームの
mailer.phpビューを作成しましょう:
次に、コントローラー
/controllers/SiteController.phpにアクションを追加する必要があります。 サイトの最初に、
必ずuse app \ models \ MailerFormを追加して、MailerFormモデル名前空間を接続してください。 そして、クラス自体に
actionMailer()メソッドを追加します。
<?php namespace app\controllers; use Yii; use yii\filters\AccessControl; use yii\web\Controller; use yii\filters\VerbFilter; use app\models\LoginForm; use app\models\ContactForm; use app\models\MailerForm;
これらの操作の後、
index.php?R = site / mailerのリンクに従って、メール送信フォームにアクセスできます。

最後のタッチは、使いやすいようにメニュー項目を追加します。 ファイル/views/layouts/main.phpには、次のブロックがあります。
echo Nav::widget([ 'options' => ['class' => 'navbar-nav navbar-right'], 'items' => [ ['label' => 'Home', 'url' => ['/site/index']], ['label' => 'About', 'url' => ['/site/about']], ['label' => 'Contact', 'url' => ['/site/contact']],
そして次の行を追加します。
['label' => 'Mailer', 'url' => ['/site/mailer']],
すべて準備完了です!
PS:いかなる場合でも、偽の送信者に偽のメールを悪用しないでください。 そして、スパムを送信しないでください。
手ですべてを行うのが面倒な場合は、
https://github.com/danvop/mailerからプロジェクトのクローンを作成するだけです。 展開手順もあります。