虎泰克博客

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


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

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

虎kaj泰fg克uyqu新pggy闻b网xph版权所有,请勿未授权转载!!!

QQ图片20160725134751.png

虎vf泰uqey克hpbr新wb闻v网lik版权所有,请勿未授权转载!!!

这是单文件上传的

虎lvamf泰d克eu新hgy闻zxwgx网wn版权所有,请勿未授权转载!!!

QQ截图20160725134915.png

虎jdxg泰dcic克d新erfn闻ibz网gurvp版权所有,请勿未授权转载!!!

这是多文件上传的

虎m泰ioho克lwrqj新rfa闻yder网i版权所有,请勿未授权转载!!!

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

虎pedm泰kz克ew新cqr闻ibw网bha版权所有,请勿未授权转载!!!

QQ截图20160725135348.png

虎pja泰m_ya克z新vs闻qedjf网kyuj版权所有,请勿未授权转载!!!

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

虎_q泰mhvab克r_tu新fuhl闻_lp网_oto版权所有,请勿未授权转载!!!

QQ截图20160725135420.png

虎rjne泰yeu克mvz新x闻xt网_rj版权所有,请勿未授权转载!!!


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

虎ja泰wk克jmi新t闻flb网eww版权所有,请勿未授权转载!!!

------WebKitFormBoundaryFsA1AIs8VyxmWEZd

虎k泰sj克cs新lnbai闻q网r_wof版权所有,请勿未授权转载!!!

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

虎axwbu泰w克wpu新vfesn闻t_hn网xfioq版权所有,请勿未授权转载!!!

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

虎g泰rof克jiq新tk闻k网agke版权所有,请勿未授权转载!!!

QQ图片20160725135808.png

虎eryxa泰hvw克gcu_新gqn闻sut网dgp版权所有,请勿未授权转载!!!


虎kngc泰twbq克n新m闻jlsb_网iz版权所有,请勿未授权转载!!!

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

SendCloud.class.zip



聲明:凡本網轉載的文/圖等稿件,均出於傳遞更多資訊及方便探討之目的,並不意味著本站及主辦、承辦單位贊同其觀點或證實其內容的真實性,文章內容僅供參考,如果侵犯了原作者的權利請與網站管理員聯系。

登入以發表評論

評論清單

    暫無數據