Yii 2发送带附件的邮件
2015-06-08 01:10
639 查看
Yii 2发送带附件的邮件
首先使用gii创建下面这张表的Model和curd方法
创建成功后,在配置文件的components中添加
在web目录下新建attachments目录,然后把emails控制器的create方法改为
上传附件,发送邮件,即可看到发送成功(需要你服务器的支持,本地是收不到邮件的)!
首先使用gii创建下面这张表的Model和curd方法
创建成功后,在配置文件的components中添加
'mailer' => [ 'class' => 'yii\swiftmailer\Mailer', 'viewPath' => '@common/mail', // send all mails to a file by default. You have to set // 'useFileTransport' to false and configure a transport // for the mailer to send real emails. 'useFileTransport' => true, ],
在web目录下新建attachments目录,然后把emails控制器的create方法改为
上传附件,发送邮件,即可看到发送成功(需要你服务器的支持,本地是收不到邮件的)!
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(["372945452@qq.com" => "cnsecer"]) ->setTo($model->receiver_email) ->setSubject($model->subject) ->setHtmlBody($model->content) ->attach($model->attachment) ->send(); } else { $value = Yii::$app->mailer->compose() ->setFrom(["372945452@qq.com" => "cnsecer"]) ->setTo($model->receiver_email) ->setSubject($model->subject) ->setHtmlBody($model->content) ->send(); } $model->save(); return $this->redirect(['view', 'id' => $model->id]); } else { return $this->render('create', [ 'model' => $model, ]); } }
相关文章推荐
- Yii2上传文件
- Yii2 实现上下联动的下拉框
- Yii2同时搜索多个字段
- Yii2让关联字段支持搜索功能
- Yii2中多表关联查询(hasOne、hasMany、join、joinwith)
- Yii2关联查询用法
- Yii2基本的访问控制AccessControl的一些理解
- Yii获取当前url和域名的方法
- php查询whois信息的方法
- php实现有趣的人品测试程序实例
- 浅谈PHP中Stream(流)
- php判断用户是否手机访问代码
- 使用PhpStorm开发PHP环境搭建
- OS X Yosemite 10.10. 自带PHP环境gd库扩展缺少freetype 解决办法
- Z-BlogPHP
- 对php,mysql全文搜索的完全分析
- stp
- PHP操作符与控制结构
- PHP preg正则
- windows下使用php自带的mail函数实现简单的邮件发送实例(QQ亲试成功)