把 common/config/main-local.php 下的 mailer 注释掉:
          'mailer'=>[
                   'class'=>'yii\swiftmailer\Mailer',
                   'viewPath'=>'@common/mail',
                   'useFileTransport'=>false,
                   'transport'=>[
                                    'class'=>'Swift_SmtpTransport',
                                    'host'=>'',                                              //自己申请邮箱时的服务器
                                    'username'=>'',                                     //申请时的账号
                                    'password'=>'',                                     //申请时的密码
                                    'port'=>'25',                                           //端口
                                    'encryption'=>'tls'                                  //一种加密方式,报错时删除它再试试(我这里就不支持这种加密方式)
                    ],
                   'messageConfig'=>[
                                    'charset'=>'UTF-8',                                                          //设置字符集
                                    'from'=>['???'=>???]                   //给发送的邮箱起个别名
                    ]
          ]
   
    在任意控制下创建一个方法:
          $file_size=filesize(路径);
            $fp=fopen(路径,'r');               //只读模式打开
            $buff=1024;
            $file_count=0;
            $file_con='';
            while(!feof($fp)&&file_count<$file_size){
                  $file_con.=fread($fp,$buff);                                             //因为文件每读取一次只要不关闭或重置,指针就会停在上次最后读取的位置。下次继续读取。所以长度不必改变。
                  $file_count+=$buff;
            }
            fclose($fp);
            $mail=\Yii::$app->mailer->compose();
            $mail->attachContent($file_con,['filename'=>'demo.docx','contentType'=>'application/octet-stream']);
                                               
//附件内容            //附件名称                 //文件类型
            $mail->setTo(收件人账号);
            $mail->setSubject("标题");
            $mail->setHtmlBody("内容");
            $mail->send();                                                                   
//发送

            unset($file_con);                                                                 //销毁附件内容字符串

yii2.0 发送邮件带word小附件的更多相关文章

  1. Yii2.0 发送邮件时中文附件乱码的问题

    yii自带的邮件类使用的是MIME 协议,发送附件时用的是MIME 协议的 Content-disposition扩展,用扩展下载中文名称的附件时有时会正常,有时会乱码. 只需找到如下文件 的如下方法 ...

  2. yii2.0自带email

    大部分框架都有自带的email邮件发送类,yii的邮件发送也很简单,代码如下: 修改配置文件,普通版在(config/web.php).高级版默认配置在/common/config/main-loca ...

  3. yii2.0自带验证码使用

    相信大家刚接触yii框架的时候都会觉得它比较麻烦.很不顺手.但我相信,只要你使用过一段时间后就会发觉它超给力,很高大上.里面的小物件很多,让你随心所欲的使用. 自带验证码实现也挺简单的,代码如下 1. ...

  4. 教你在Yii2.0框架中如何创建自定义小部件

    本教程将帮助您创建自己的自定义小部件在 yii framework 2.0.部件是可重用的模块和用于视图. 创建一个小部件,需要继承 yii\base\Widget,覆盖重写 yii\base\Wid ...

  5. yii2.0表单自带验证码

    Yii2.0的自带的验证依赖于GD2或者ImageMagick扩展. 使用步骤如下: 第一步,控制器: 在任意controller里面重写方法

  6. 【Yii系列】Yii2.0基础框架

    缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我 ...

  7. 邮件实现详解(四)------JavaMail 发送(带图片和附件)和接收邮件

    好了,进入这个系列教程最主要的步骤了,前面邮件的理论知识我们都了解了,那么这篇博客我们将用代码完成邮件的发送.这在实际项目中应用的非常广泛,比如注册需要发送邮件进行账号激活,再比如OA项目中利用邮件进 ...

  8. yii2.0发送qq邮件详情配置

    首先要想使用qq发送邮件必须打开使用的qq邮箱里的一个配置,

  9. yii2.0数据库查询修改等方法

    yii2.0学习有一段时间了,给大家分享一下一些简单的查询等如何操作. 查询:(这里最前面的Test是引用的模型名) Test::find()->all();    此方法返回所有数据: Tes ...

随机推荐

  1. 移动互联网iOS工程师必须知道的三点

    如果十年磨一剑,那么现在起作为一名iOS工程师,以下三点你必须要知道: 1.现在开始学swift正是时候,永远不要怕晚 因为…新时代的程序语言Swift有很多优势,长江后浪推前浪,Swift上手快,开 ...

  2. Spring Batch 高级-

    spring batch / 并行处理 / 多线程 分区 1. 并行处理,多线程,分区 http://blog.csdn.net/github_36849773/article/details/692 ...

  3. es6——map-set与对象对比

    {    //map,set,object对比    let item={t:1};    let map=new Map();    let set=new Set();    let obj={} ...

  4. easyUI datagarid单元格动态合并

    第二列根据第一列合并,第三列根据第二列合并.层级关系. /* * tableID表格的id * colList要合并的字段例如:"overcount,totalcount" */ ...

  5. 命令行导入导出Mysql数据库

    MySQL命令行导出数据库:1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录,如我输入的命令行:cd C:\Program Files\MySQL\MySQL Serve ...

  6. debian 9 添加源

    1.将下面内容的添加入/etc/apt/sources.list(香港镜像) #For software deb http://mirrors.ustc.edu.cn/debian/ stretch ...

  7. Java代码实现MySQL数据库的备份与还原

    通常在MySQL数据库的备份和恢复的时候,多是采用在cmd中执行mysql命令来实现. 例如: mysqldump -h127.0.0.1 -uroot -ppass test > d:/tes ...

  8. MyBatis初始化

    1. 准备工作 为了看清楚MyBatis的整个初始化过程,先创建一个简单的Java项目,目录结构如下图所示: 1.1 Product 产品实体类 public class Product { priv ...

  9. hbase的几种访问方式

    Hbase的访问方式 1.Native Java API:最常规和高效的访问方式: 2.HBase Shell:HBase的命令行工具,最简单的接口,适合HBase管理使用: 3.Thrift Gat ...

  10. C++异常注意事项

    C++里面catch对于类型转换,限制比参数传递时候要多: 不可以进行标准算术转换和类的自定义转换:在函数参数匹配的过程中,可以进行很多的类型转换.但是在异常匹配的过程中,转换的规则要严厉. 标准算术 ...