虎泰克博客

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


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

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

虎j泰osmp克wi新gw闻f网hhdr版权所有,请勿未授权转载!!!

QQ图片20160725134751.png

虎f泰wjzw克m新drzu闻xkmqu网v版权所有,请勿未授权转载!!!

这是单文件上传的

虎qcbh泰m克ah新nlsa闻wt_网z版权所有,请勿未授权转载!!!

QQ截图20160725134915.png

虎zdhd泰ynq克ftko新g闻dr网bbcki版权所有,请勿未授权转载!!!

这是多文件上传的

虎jneul泰aob克w新eovl闻u网db版权所有,请勿未授权转载!!!

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

虎jdvs泰hdsax克yz新sihu闻agtzx网xzog_版权所有,请勿未授权转载!!!

QQ截图20160725135348.png

虎k泰ln克l_wk新_j闻kofe网q版权所有,请勿未授权转载!!!

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

虎qb泰xkx克q新zhcg闻cife网pesw版权所有,请勿未授权转载!!!

QQ截图20160725135420.png

虎v泰vrp克tog新eg闻pg网taokt版权所有,请勿未授权转载!!!


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

虎ml泰xuq克xvoa新a闻lsn网kq版权所有,请勿未授权转载!!!

------WebKitFormBoundaryFsA1AIs8VyxmWEZd

虎rmjml泰fwvsm克ptf新_r闻l_dbe网r版权所有,请勿未授权转载!!!

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

虎tcxti泰w克sm新yhcim闻xjj网ebe版权所有,请勿未授权转载!!!

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

虎dq泰it克qlxh新ybx闻yjmy网_gmy版权所有,请勿未授权转载!!!

QQ图片20160725135808.png

虎yz_泰g克hf_nq新zsgu闻wmbv网kx版权所有,请勿未授权转载!!!


虎hgz泰dotf克sb新ew闻e_xic网k版权所有,请勿未授权转载!!!

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

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