0
https://www.youtube.com/watch?v=c5pebmTUQjs&index=21&list=PLRd0zhQj3CBmusDbBzFgg3H20VxLx2mkF
が添付、 で電子メールを送信するためのYii2チュートリアル(あなたが必要な場合は、以下のリンクを参照してください)に続き、それが働きましたシステムが、送信したい電子メール情報と添付ファイルを読み込んで、その情報と添付ファイルのリンクをdbに保存するレベルで実行します。 Yiiの\ベースの\ InvalidConfigException 不明の設定 -
無効な構成:私は本当の受信者にメールを送信しようとメーラーの設定を変更したときに
はしかし、その後、問題が発生した新しい電子メール を作成しようとしましたプロパティ:Swift_MailTransport ::ホスト
ここでは、メーラーのための設定です:
'mailer' => [
'class' => 'yii\swiftmailer\Mailer',
'viewPath' => '@app/mail',
'useFileTransport' => false,
'transport' => [
'host' => 'smtp.live.com',
'username' => '[email protected]',
'password' => 'password',
'port' => '587',
'encryption' => 'tls',
]
],
そして、ここではAですEmailsControllerのctionCreate部分:
public function actionCreate()
{
$model = new Emails();
if ($model->load(Yii::$app->request->post()))
{
$model->attachment= UploadedFile::getInstance($model,'attachment');
if ($model->attachment)
{
$time=time();
$model->attachment->saveAs ('attachments/' .$time.'.' .$model->attachment->extension);
$model->attachment='attachments/'.$time.'.'.$model->attachment->extension;
}
if ($model->attachment)
{
$value= Yii::$app->mailer->compose()
->setFrom (['[email protected]'=>'Al-Sharq Printing Press'])
->setTo ($model->reciever_email)
->setSubject ($model->subject)
->setHtmlBody ($model->content)
->attach ($model->attachment)
->send();
}
else
{
$value= Yii::$app->mailer->compose()
->setFrom (['[email protected]'=>'Al-Sharq Printing Press'])
->setTo ($model->reciever_email)
->setSubject ($model->subject)
->setHtmlBody ($model->content)
->send();
}
$model->save();
return $this->redirect(['view','id'=>$model->id]);}
else
return $this -> render('create',['model'=>$model,]);
}
私は多くの参照を見て、含まれる他のクラスがありませんでした。本当に別のクラスが必要な場合は、それは何ですか?それは何のために立っていますか?ドキュメントのリンクを参照してください:http://www.yiiframework.com/doc-2.0/yii-swiftmailer-mailer.html –
デフォルトの 'Swift_MailTransport'が使われています。これは[ここ](http://swiftmailer.org/docs/sending.html)に記載されているSwiftMailerのTransportクラスです。これはyii2-swiftmailer拡張の[Mailer](https://github.com/yiisoft/yii2-swiftmailer/blob/master/Mailer.php)クラスで見ることができます。 – Bizley