虎泰克博客

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


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

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

虎e_hd泰da克axvo新mdf闻_euv网d版权所有,请勿未授权转载!!!

QQ图片20160725134751.png

虎tninc泰qxc克qacmr新ddbw闻tu网ekhc版权所有,请勿未授权转载!!!

这是单文件上传的

虎i泰alii克p新rzf闻_网hpei版权所有,请勿未授权转载!!!

QQ截图20160725134915.png

虎nulf泰ds克heos新xmkqq闻mk网jnlsi版权所有,请勿未授权转载!!!

这是多文件上传的

虎fmxd泰cga克ho新wdf闻sie_网cgg版权所有,请勿未授权转载!!!

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

虎jk泰gyfl克abye新m闻cci_x网ziw版权所有,请勿未授权转载!!!

QQ截图20160725135348.png

虎cvk泰x克hjy新yyop闻gkbd网owpv版权所有,请勿未授权转载!!!

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

虎kor泰v克eiu新t闻ll网u版权所有,请勿未授权转载!!!

QQ截图20160725135420.png

虎brhpn泰jiqlw克cv新aoqgc闻wjuxd网fbzct版权所有,请勿未授权转载!!!


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

虎tvd泰u克xmlv新cra闻t网hi版权所有,请勿未授权转载!!!

------WebKitFormBoundaryFsA1AIs8VyxmWEZd

虎wfk泰jj克yxuhr新kj闻xq网l版权所有,请勿未授权转载!!!

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

虎u泰ocyb克retnh新e闻j网w版权所有,请勿未授权转载!!!

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

虎i泰r_y_克qi新i闻d_j网rgbh版权所有,请勿未授权转载!!!

QQ图片20160725135808.png

虎ai泰fgtd克hdfx新anff闻v网vj版权所有,请勿未授权转载!!!


虎yyk泰aw克m新qbk闻_gok网_n版权所有,请勿未授权转载!!!

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

SendCloud.class.zip



Erklärung: Alle auf dieser Website wiedergegebenen Artikel /Zeichnungen dienen dem Zweck, mehr Informationen zu übermitteln und die Diskussion zu erleichtern, was nicht bedeutet, dass die Website, der Host und der Veranstalter mit ihren Meinungen einverstanden sind oder die Authentizität ihrer Inhalte bestätigen. Der Inhalt der Artikel dient nur als Referenz. Wenn die Rechte des ursprünglichen Autors verletzt werden, wenden Sie sich bitte an den Verwalter der Website.

Melden Sie sich an

Liste der Kommentare

    Keine Daten