分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

PHP 实现下载邮件功能,保存为eml格式

发布时间:2023-09-06 02:14责任编辑:赖小花关键词:PHP邮件

引言:因为业务需求,需要获取订单的往来邮件,其中涉及到下载邮件功能。由于腾讯企业邮箱API接口不支持下载邮件功能,只能自己写。

  1. 获取邮件内容,保存到数据库
    步骤略:网上有很多现成的,利用imap来获取

  2. 将获取到的邮件内容保存为eml格式
    如下为从数据库中取的的数据:

{ ???"id": "135", ???"sender": "sender@qq.com", ???"sender_name": "我是发件人", ???"to_name": "收件人1,收件人2,ymy", ???"to_list": "wusong@qq.com,liangso@qq.com,ymy@qq.com", ???"cc_list": "抄送人", ???"cc_name": "cc1@qq.com", ???"title": "我是主题", ???"content": "<p>测试一下!!!{43575}<br></p>", ???"email_time": "2018-09-15 09:56:05", ???"create_time": "2018-09-15 09:56:05", ???"update_time": "2018-09-15 09:56:05"}

代码实现:

$mailDetail = json_decode($json, true);$str = "";// 邮件日期(后面的+0800是北京时间的时区)$str .= "Date: {$mailDetail[‘email_time‘]} +0800".PHP_EOL;// 处理收件人$str .= "To: ";$toName = explode(‘,‘, $mailDetail[‘to_name‘]);$toEmail = explode(‘,‘, $mailDetail[‘to_list‘]);foreach ($toName as $k => $name){ ???$str .= "$name <$toEmail[$k]>"; ???if($k+1 != count($toName)){ ???????$str .= ", "; ???}else{ ???????$str .= PHP_EOL; ???}}// 处理抄送人$ccName = explode(‘,‘, $mailDetail[‘cc_name‘]);$ccEmail = explode(‘,‘, $mailDetail[‘cc_list‘]);if(!empty($ccName)){ ???$str .= "Cc: "; ???foreach ($ccName as $k => $name){ ???????$str .= "$name <$ccEmail[$k]>"; ???????if($k+1 != count($ccName)){ ???????????$str .= ", "; ???????}else{ ???????????$str .= PHP_EOL; ???????} ???}}// 发件人$str .= "From: {$mailDetail[‘sender_name‘]} <{$mailDetail[‘sender‘]}>".PHP_EOL;// 邮件主题$str .= "Subject: {$mailDetail[‘title‘]}". PHP_EOL;// 邮件输出格式$str .= "MIME-Version: 1.0". PHP_EOL;$str .= "Content-Type: text/html; charset=UTF-8". PHP_EOL;$str .= "Content-Transfer-Encoding: 8bit". PHP_EOL;// 邮件内容$str .= PHP_EOL . "{$mailDetail[‘content‘]}".PHP_EOL;// 保存file_put_contents(‘test.eml‘, $str);
  1. test.eml内容
  1. 将test.eml用foxmail打开
  1. 以下问题待修复:
  • 邮件附件没有加进去

PHP 实现下载邮件功能,保存为eml格式

原文地址:https://www.cnblogs.com/wu-song/p/9651017.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved