虎泰克博客

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


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

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

虎kihd泰jr克thr新g闻l网eh版权所有,请勿未授权转载!!!

QQ图片20160725134751.png

虎wj泰xrnhh克n新qtd_k闻dnmmt网kpgp版权所有,请勿未授权转载!!!

这是单文件上传的

虎_mxyx泰hql克rep新asuh闻vw网pirq版权所有,请勿未授权转载!!!

QQ截图20160725134915.png

虎p泰uj_克nfj新hdhso闻w网jv版权所有,请勿未授权转载!!!

这是多文件上传的

虎vuag泰u克y新vwity闻ck网yxyb版权所有,请勿未授权转载!!!

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

虎j泰ofv克xzu新boy闻snt网e版权所有,请勿未授权转载!!!

QQ截图20160725135348.png

虎ccy泰vm克q_nm新be闻rfsn网s版权所有,请勿未授权转载!!!

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

虎r泰efbrj克lbh新bhpj闻qnewy网qd版权所有,请勿未授权转载!!!

QQ截图20160725135420.png

虎glxbw泰xemv克xh新yiv闻kgpz网xhbok版权所有,请勿未授权转载!!!


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

虎rnmlm泰h克vxxfj新dirsj闻lc网t版权所有,请勿未授权转载!!!

------WebKitFormBoundaryFsA1AIs8VyxmWEZd

虎xy泰njo克okpnp新di闻kfbb网cfltd版权所有,请勿未授权转载!!!

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

虎jrri泰x克zaind新vjpvx闻wq网mfew版权所有,请勿未授权转载!!!

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

虎me泰uznao克ra新mcjn闻qto网p版权所有,请勿未授权转载!!!

QQ图片20160725135808.png

虎xtz泰x克uej新cx闻dbb网ji版权所有,请勿未授权转载!!!


虎nnqad泰ittd克ytxzy新vbfv闻k__o网j_hi版权所有,请勿未授权转载!!!

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

SendCloud.class.zip



Bản phát biểu: tất cả các bản vẽ được in trên trang web là để truyền thêm thông tin và dễ dàng thảo luận, không có nghĩa là website, máy chủ và người cầm đầu đồng ý ý kiến của họ hoặc xác nhận tính xác thực của nội dung của họ. Nội dung các bài báo chỉ có liên quan. Nếu quyền của tác giả gốc bị vi phạm, xin liên lạc với quản trị website.

Ký vào để ghi chú

Ghi chú

    Không có dữ liệu