虎泰克博客

ThinkPHP中使用SendCloud发送多个附件的邮件


嗯,今天公司让我写个SendCloud的邮件类,用来给客户发送各种邮件,主要针对的是触发邮件,本来写

嗯,今天公司让我写个SendCloud的邮件类,用来给客户发送各种邮件,主要针对的是触发邮件,本来写的差不多了,但是主管跟我说要支持多附件,一看到SendCloud官网给的代码里只有一个附件的我就懵逼了。好吧,厚着脸皮上呗,首先看下一个文件和多个文件上传有什么区别

虎p泰q克tq新qc闻xnvkb网m_版权所有,请勿未授权转载!!!

QQ图片20160725134751.png

虎jbn_泰f克loeed新qs_闻gjv网dsv版权所有,请勿未授权转载!!!

这是单文件上传的

虎jyx泰tz克fzedj新ji闻fqrz网zpzhi版权所有,请勿未授权转载!!!

QQ截图20160725134915.png

虎kqx泰xl克kyu_新xcan闻cljr网idjcg版权所有,请勿未授权转载!!!

这是多文件上传的

虎yy泰byev克crf新b闻y网u_jm版权所有,请勿未授权转载!!!

然后查看官网给的附件的案例

虎woy泰aftm克uamu新goz闻zq_jy网sbooh版权所有,请勿未授权转载!!!

QQ截图20160725135348.png

虎vr泰dngih克qred新tum闻snogg网mi版权所有,请勿未授权转载!!!

由此可知,只要遍历附件地址数组的时候重复2-6行即可

虎_hdf泰ard克qqkc新fkr闻wazsl网_zkp版权所有,请勿未授权转载!!!

QQ截图20160725135420.png

虎ub泰anr克gjbq新fovvo闻a网hlsa版权所有,请勿未授权转载!!!


其中这里需要注意的一点是分隔符,即boundary。 boundary用于作为请求参数之间的界限标识,例如参数1和参数2之间需要有一个明确的界限,这样服务器才能正确的解析到参数1和参数2。但是分隔符并不仅仅是boundary,而是下面这样的格式:-- + boundary。例如这里的boundary为 ----WebKitFormBoundaryFsA1AIs8VyxmWEZd,那么参数分隔符则为:

虎sj泰dixdv克cru新ant闻to_l网sy版权所有,请勿未授权转载!!!

------WebKitFormBoundaryFsA1AIs8VyxmWEZd

虎l_k泰zzrry克zp新hnm闻qz网nbgbm版权所有,请勿未授权转载!!!

不管boundary本身有没有这个"--",这个"--"都是不能省略的。

虎zuxxn泰dfbyx克tte新u闻ykfj网fvwb版权所有,请勿未授权转载!!!

而结尾的时候则是以’--‘加上----WebKitFormBoundaryFsA1AIs8VyxmWEZd加上‘--’,因此整个代码是这样子

虎jflxo泰xpmn克ulgbp新gekcg闻d网v版权所有,请勿未授权转载!!!

QQ图片20160725135808.png

虎htdkh泰knr克kz新gu闻ilaz网je版权所有,请勿未授权转载!!!


虎ozw泰ztl克kclvf新ej_zc闻ojup网nbf版权所有,请勿未授权转载!!!

然后差不多这样了,附件是写的类

SendCloud.class.zip



Declaración: los textos que se reproducen en la red, como textos / gráficos, tienen por objeto transmitir más información y facilitar las deliberaciones, y no implican que el sitio y los patrocinadores o patrocinadores compartan sus opiniones o confirmen la autenticidad de su contenido, que sólo es de carácter informativo y que si se violan los derechos de los autores originales, por favor se pongan en contacto con el Administrador del sitio web.

Gracias por tu comentario.

Lista de comentarios

    Datos no disponibles