当前位置: 首页 > news >正文

aws PinPoint发附件demo

php 版aws PinPoint发附件demo

Laravel8框架,安装了"aws/aws-sdk-php": "^3.257" 

主要代码:

public function sendRawMail(Request $request)
{$file = $request->file('attachment');/*echo count($file);dd($file);*/$filename = $file[0]->getClientOriginalName();$filepath = $file[0]->getPathname();$filetype=$file[0]->getMimeType();$filename1 = $file[1]->getClientOriginalName();$filepath1 = $file[1]->getPathname();$filetype1=$file[1]->getMimeType();$to='recive@xxxxx.com';//收件人1$to1='recive2@xxxxx.com';//收件人2$fromAddress = 'xxxxx@xxxxx.com';//发件人(必须是在aws认证过身份的)  mb_encode_mimeheader('发件人名称','UTF-8')<xxxxx@xxxxx.com> 这种格式发出去的 会带上发件人名称$subject='test subject';//邮件主题//邮件内容$body='<!DOCTYPE html><html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="main">
姓名:sssssssssssss
<a href="https://ww.baidu.com">点击跳转</a>
</div></body>
</html>';$client = new PinpointClient(['region'  => 'ap-northeast-1','version'  => 'latest',]);$message= "Subject: ".$subject."\n";$message.= "MIME-Version: 1.0\n";$message.= 'Content-Type: multipart/mixed; boundary="aRandomString_with_signs_or_9879497q8w7r8number"';$message.= "\n\n";$message.= "--aRandomString_with_signs_or_9879497q8w7r8number\n";$message.= 'Content-Type: text/html; charset="utf-8"';//发送html类型的body//$message.= 'Content-Type: text/plain; charset="utf-8"';//发送text类型的body$message.= "\n";$message.= "Content-Transfer-Encoding: 7bit\n";$message.= "Content-Disposition: inline\n";$message.= "\n";$message.= $body;$message.= "\n\n";$message.= "--aRandomString_with_signs_or_9879497q8w7r8number\n"; //分割符//解决附件名称汉字乱码$filename=mb_encode_mimeheader($filename,'UTF-8');$filetype=mb_encode_mimeheader($filetype,'UTF-8');$message.= 'Content-Type: '.$filetype.'; charset="utf-8"; name="'.$filename.'"';$message.= "\n";$message.= "Content-Transfer-Encoding: base64\n";$message.= 'Content-Disposition: attachment; filename="'.$filename.'"';$message.= "\n\n\n";$message.= base64_encode(file_get_contents($filepath));$message.= "\n\n\n";$message.= "--aRandomString_with_signs_or_9879497q8w7r8number\n";//解决附件名称汉字乱码$filename1=mb_encode_mimeheader($filename1,'UTF-8');$filetype1=mb_encode_mimeheader($filetype1,'UTF-8');$message.= 'Content-Type: '.$filetype1.'; charset="utf-8"; name="'.$filename1.'"';$message.= "\n";$message.= "Content-Transfer-Encoding: base64\n";$message.= 'Content-Disposition: attachment; filename="'.$filename1.'"';$message.= "\n\n\n";$message.= base64_encode(file_get_contents($filepath1));$message.= "\n\n\n";$message.= "--aRandomString_with_signs_or_9879497q8w7r8number--\n";file_put_contents('/data1/client/public/pdf/a.txt',$message);$messageRequest = ['ApplicationId' => 'aws ApplicationId', //已创建的pinPoint上取'MessageRequest' => ['Addresses' => [$to => ['ChannelType' => 'EMAIL',],$to1 => ['ChannelType' => 'EMAIL',],],'MessageConfiguration' => ['EmailMessage' => ['FromAddress' => $fromAddress,'ReplyToAddresses' => ['xxxxxx@xxxxx.com','xxxxx@xxxxx.com'], //用户回复的地址'RawEmail'=>['Data'=>$message],]],],];$result = $client->sendMessages($messageRequest);dd($result);}

postmain测试截图:

 

http://www.lryc.cn/news/142801.html

相关文章:

  • 边写代码边学习之Bidirectional LSTM
  • Django学习笔记-实现联机对战
  • nacos总结1
  • Web安全测试(三):SQL注入漏洞
  • Webstorm 入门级玩转uni-app 项目-微信小程序+移动端项目方案
  • 从零开始的Hadoop学习(三)| 集群分发脚本xsync
  • golang http transport源码分析
  • spring boot 项目整合 websocket
  • 统计学补充概念-17-线性决策边界
  • 指针变量、指针常量与常量指针的区别
  • mq与mqtt的关系
  • 代码大全阅读随笔 (二)
  • vue 项目的屏幕自适应方案
  • 23软件测试高频率面试题汇总
  • PHP8的匿名函数-PHP8知识详解
  • Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)
  • C语言链表梳理-2
  • 【深度学习】实验03 特征处理
  • 基于Dpabi的功能连接
  • 在React项目是如何捕获错误的?
  • 基于内存池的 简单高效的数据库 SDK简介
  • python实例方法,类方法和静态方法区别
  • Pyecharts教程(四):使用pyecharts绘制3D折线图
  • 【stable-diffusion使用扩展+插件和模型资源(下)】
  • 一文了解SpringBoot中的Aop
  • android系统启动流程之zygote如何创建SystemServer进程
  • 【awd系列】Bugku S3 AWD排位赛-9 pwn类型
  • vcomp140.dll丢失的修复方法分享,电脑提示vcomp140.dll丢失修复方法
  • Docker file解析
  • 工作与身体健康之间的平衡