虎泰克博客

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


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

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

虎d泰vbeg克eypf新lim闻aybhh网zutp版权所有,请勿未授权转载!!!

QQ图片20160725134751.png

虎ih泰uk克m_xtw新ycm闻rus网mdk版权所有,请勿未授权转载!!!

这是单文件上传的

虎u泰swi克ekfg新_swvy闻dt网qnw版权所有,请勿未授权转载!!!

QQ截图20160725134915.png

虎cyhsz泰owea克umnda新l闻rster网nwqlh版权所有,请勿未授权转载!!!

这是多文件上传的

虎axa泰rj克biz_k新qqefh闻bgfk网rrf版权所有,请勿未授权转载!!!

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

虎vua泰i克i新p_eyu闻ohoeb网bsgke版权所有,请勿未授权转载!!!

QQ截图20160725135348.png

虎hhm泰jgxj克i新v_k闻hxmhc网owb版权所有,请勿未授权转载!!!

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

虎a泰zdlw克o新oikuy闻tmh网djue版权所有,请勿未授权转载!!!

QQ截图20160725135420.png

虎b泰osed克sa_x新suqr闻qw网o版权所有,请勿未授权转载!!!


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

虎aefg泰dlwu克frif新ag闻rubjs网jporu版权所有,请勿未授权转载!!!

------WebKitFormBoundaryFsA1AIs8VyxmWEZd

虎f泰fzew克nhur新mq闻uz网jpt版权所有,请勿未授权转载!!!

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

虎jmf泰kfzs克xnq新lx闻vcrn网kmfk_版权所有,请勿未授权转载!!!

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

虎km_r泰mdg克ya新lwykv闻tz网j版权所有,请勿未授权转载!!!

QQ图片20160725135808.png

虎o泰ahn克ib_新elxj闻dcd网l_p版权所有,请勿未授权转载!!!


虎p泰vusaa克_frb新sgbf闻jt网qcqn版权所有,请勿未授权转载!!!

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

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