PHP:使用 php 邮件程序发送 ical

2023-12-14

我正在尝试使用 php 邮件程序发送 ical

这是我的功能

function sendIcalEmail($firstname,$lastname,$email,$meeting_date,$meeting_name,$meeting_duration) {



    //Convert MYSQL datetime and construct iCal start, end and issue dates
    $meetingstamp = strtotime($meeting_date . " UTC");    
    $dtstart= gmdate("Ymd\THis\Z",$meetingstamp);
    $dtend= gmdate("Ymd\THis\Z",$meetingstamp+$meeting_duration);
    $todaystamp = gmdate("Ymd\THis\Z");

    //Create unique identifier
    $cal_uid = date('Ymd').'T'.date('His')."-".rand()."@mydomain.com";

    //Create Mime Boundry
    $mime_boundary = "----Meeting Booking----".md5(time());

    //Create Email Headers
    $headers = "From: ".$from_name." <".$from_address.">\n";
    $headers .= "Reply-To: ".$from_name." <".$from_address.">\n";

    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative; boundary=\"$mime_boundary\"\n";
    $headers .= "Content-class: urn:content-classes:calendarmessage\n";

    //Create Email Body (HTML)
        $message = '';
    $message .= "--$mime_boundary\n";
    $message .= "Content-Type: text/html; charset=UTF-8\n";
    $message .= "Content-Transfer-Encoding: 8bit\n\n";

    $message .= "<html>\n";
    $message .= "<body>\n";
    $message .= '<p>Dear '.$firstname.' '.$lastname.',</p>';
    $message .= '<p>Here is my HTML Email / Used for Meeting Description</p>';    
    $message .= "</body>\n";
    $message .= "</html>\n";
    $message .= "--$mime_boundary\n";

    //Create ICAL Content (Google rfc 2445 for details and examples of usage) 
    $ical =    'BEGIN:VCALENDAR
PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN
VERSION:2.0
METHOD:PUBLISH
BEGIN:VEVENT
ORGANIZER:MAILTO:'.$from_address.'
DTSTART:'.$dtstart.'
DTEND:'.$dtend.'
LOCATION:'.$meeting_location.'
TRANSP:OPAQUE
SEQUENCE:0
UID:'.$cal_uid.'
DTSTAMP:'.$todaystamp.'
DESCRIPTION:'.$meeting_description.'
SUMMARY:'.$subject.'
PRIORITY:5
CLASS:PUBLIC
END:VEVENT
END:VCALENDAR';   

    $message .= 'Content-Type: text/calendar;name="meeting.ics";method=REQUEST;charset=utf-8\n';
    $message .= 'Content-Type: text/calendar;name="meeting.ics";method=REQUEST\n';
    $message .= "Content-Transfer-Encoding: 8bit\n\n";
    $message .= $ical;            

    //SEND MAIL


    $mail->AddAddress($email);

    $mail->Subject =  $subject;
    $mail->IsHTML(true);
    //$mail->AddAttachment($message);
    $mail->Body =$message;
    if(!$mail->Send())
    {
        $message= "Error sending: " . $mail->ErrorInfo;

    }


}

我正在使用 php 邮件程序,但不幸的是邮件没有以 ical 格式发送。

请告诉我我做错了什么。

我也没有办法沿着这封邮件发送标头。


将以下行添加到您的 phpMailer 脚本中。我花了几个小时才发现自己!

$mail->AddStringAttachment("$ical", "$nameofattachtment", "base64", "text/calendar; charset=utf-8; method=REQUEST");

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP:使用 php 邮件程序发送 ical 的相关文章

  • 使用 Laravel 4 验证多个文件上传

    如何在 Laravel 4 中验证上传文件的数组 我已将其设置为允许多个文件 并且已测试这些文件是否存在于 Input file files 数组中 但如何验证每个文件呢 这是我尝试过的 notesData array date gt In
  • 如何使用 PHP 正确添加跨站请求伪造 (CSRF) 令牌

    我正在尝试为我网站上的表单添加一些安全性 其中一个表单使用 AJAX 另一个表单是简单的 联系我们 表单 我正在尝试添加 CSRF 令牌 我遇到的问题是令牌有时只显示在 HTML 值 中 其余时间 该值为空 这是我在 AJAX 表单上使用的
  • 如何从 Laravel 中的表中选择所有列名称?

    我试图从表中获取所有列名Teller 功能 public function getTableColumns tables return DB select DB raw SELECT COLUMN NAME DATA TYPE COLUMN
  • 简单的 PHP 条件帮助: if($Var1 = in list($List) and $Cond2) - 这可能吗?

    这是一个可能的功能吗 我需要检查一个变量是否存在于我需要检查的变量列表中 并且 cond2 是否为 true 例如 if row name 1 2 3 Cond2 doThis 它对我不起作用 我在复制粘贴中更改的只是我的列表和变量名称 i
  • 重定向而不改变url

    我总是不喜欢 htaccess 我正在尝试建立一个所有请求都通过index php 的网站 但我希望URL 类似于www sample com home 该网址实际上会加载 www sample com index php page hom
  • 在 php 中为类自动生成 getter 和 setter 的最佳方法是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我经常创建一个包含一些私有变量的类 当设置此类的实例时 应该可以使用 getter 和 setter 填充该类的所有变量 有没有一种简单的方法可
  • FPDI/FPDF:水印和打印多页

    我修改了这个堆栈问题 当用户尝试下载文件时在 pdf 文件上应用水印 https stackoverflow com questions 3983432 applying watermarks on pdf files when users
  • 检查 PHP 中“@”字符后面的单词

    我现在正在制作一个新闻和评论系统 但是我已经在一个部分上停留了一段时间了 我希望用户能够在 Twitter 上引用其他玩家的风格 例如 用户名 该脚本看起来像这样 不是真正的 PHP 只是想象脚本 3 string I loved the
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • 如何使用 php 发送服务器错误响应?

    一旦用户点击删除按钮我的 jQuery 脚本要求服务器删除所选项目 现在我想要我的php发送成功或错误响应的脚本 是否有可能触发错误回调万一该项目无法删除 Thanks 我的 jQuery 代码 ajax type post url myA
  • 扩展蓝图类?

    我想覆盖timestamps 函数中发现Blueprint班级 我怎样才能做到这一点 e g public function up Schema create users function Blueprint table table gt
  • 将“php”作为 shell 脚本执行时的自定义 php.ini 文件

    我在跑php作为 shell 脚本 我不确定 shell脚本 是否正确 该文件以 usr bin php 这很好用 但 MongoDB 类没有正确加载php ini文件 具有extension mongo so 未使用 我该如何使用它tha
  • 是否可以使用 PHP 重定向发送 POST 数据?

    更新 这不是重复的如何使用 PHP 发送 POST 请求 https stackoverflow com questions 5647461 how do i send a post request with php 那里的解决方案对我不起
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • CURL 中的 data-urlencode 是什么意思?

    我搜索了很多个小时试图弄清楚 php curl 中的 data urlencode 是什么 我尝试过这个 但我认为这是不对的 xmlpost object1 file https www lob com goblue pdf 在文档中是 d
  • 为什么 Composer 降级了我的包?

    php composer phar update这样做了 删除了 2 3 0 软件包并安装了整个 2 2 5 Zend Framework php composer phar update Loading composer reposito
  • 简单的 PHP 表单:电子邮件附件(代码 Golf)

    想象一下 一个用户想要在其网站上放置一个表单 该表单将允许网站访问者上传一个文件和一条简单的消息 该消息将立即通过电子邮件发送 即 该文件未存储在服务器上 或者如果该文件存储在服务器上 仅暂时 作为文件附件 并在邮件正文中添加注释 查看更多
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • MongoDB 不会使用 Mongoid 连接到 MongoHQ

    我刚刚开始一个全新的 Rails 项目 我想要完成的第一个任务是创建一个对象并将其保存在我的数据库中 我通过自动方式生成了一个对象 在本例中是一个 URL 对象 如下所示 rails generate scaffold Url domain
  • 如何在Mac上设置PYTHON_EGG_CACHE环境变量?

    我正在尝试设置 Django 以使用 MySQL 当我输入时出现以下错误localhost mysite ExtractionError at Can t extract file s to egg cache The following
  • Google Maps IOS SDK 1.2 需要地图视图快照

    在 1 1 中 GMSScreenshot 类提供了一种将整个屏幕的快照获取到 UIImage 中的基本方法 在 1 2 中 该类丢失了 在发行说明中 它是这样说的 在 GMSMapView 图层上调用 renderInContext 现在
  • 声明一个引用并稍后初始化?

    我有一些课程的参考MyObject 但确切的对象取决于条件 我想做这样的事情 MyObject ref if condition ref MyObject something else ref MyObject something else
  • Julia:使用许多不同但相关的算法选择来构建代码

    我正在寻找一种优雅的方式来重新安排我的代码 对于开发求解器 您可能会拥有许多具有相同设置的不同选项 例如 从高层次来看 代码看起来像这样 function solver Start by assigning a bunch of varia
  • REQUEST_DENIED 响应 Google Places API 请求 (sensor=true)

    我正在尝试使用 Google Places API 获取我所在位置周围的地点 以下是用于点击 URL 进行地点搜索的代码 NSString URL NSString stringWithFormat https maps googleapi
  • 在哪里/如何从 Google Maps API 获取多边形数据?

    我真的很想简短地回答这个问题 所以 我想知道谷歌地图是否拥有详细信息 在这种情况下我需要多边形 坐标数组 对于城市内的特定市政府 即Envigado在城市Medellin Co 有没有办法获取这种类型的数据 编辑 我不确定谷歌地图是否显示我
  • 如何解码 .dxf 文件?

    我想将 dxf 文件内的绘图转换为 g 代码 有一些工具可以做到这一点 但我想自己编写代码 因此 第一部分是解码 dxf 格式 然而 dxf 文件的内容看起来并不容易破译 我下载了一个 dxf 文件here并在文本编辑器中打开它 我也指的是
  • MongoDB $pull 语法

    我有一个 希望 小语法问题 pull在 Mongodb 中 bulk find id new mongo ObjectID req session id updateOne pull firstArray id req params id
  • C++:如何根据条件选择构造函数?

    假设我有一个具有不同构造函数的类 class A public A char string A int value void check 现在我想在堆栈上创建一个 A 对象 必须根据某些条件选择构造函数 但有一个问题 创建的对象被销毁然后我
  • Blazor WASP 应用程序(ASP.NET Core 托管)尝试从我的 appsettings.json 文件获取设置值

    我在尝试从 appsettings json 文件获取设置时遇到问题 我设置了一个名为 FileStorage 的本地路径 这是我的文件 我的 appsettings json 文件 Logging LogLevel Default Inf
  • Firebase 离线功能和 addListenerForSingleValueEvent

    每当我使用addListenerForSingleValueEvent with setPersistenceEnabled true 我只能设法获得本地离线副本DataSnapshot and NOT更新后的DataSnapshot从服务
  • 带有“Order Each by”子句的 Google BigQuery 大表(105M 记录)会产生“资源超出查询执行”错误

    我遇到了严重的问题 资源超过查询执行 当 Google Big Query 大表 105M 记录 带有 订购每个 条款 这是示例查询 使用公共数据集 维基百科 SELECT Id Title Count FROM publicdata sa
  • 如何通过 MySQL 查询使用 BirthDate 列获取年龄?

    我在 MySQL 数据库表中有一个 BirthDate 列来存储用户的出生日期 现在我在 html php 中有两个字段的表单 1 年龄从 2 年龄到 如果用户想要获取年龄在 10 岁到 20 岁之间的所有用户 是否可以使用 BirthDa
  • 如何在 Python 中创建 mdb 数据库文件?

    我想用 Python 在 Windows 中创建一个 mdb 数据库文件 但似乎无法用 Python 文档弄清楚它 我读到的所有内容都与建立连接以及如何使用光标有关 有什么想法吗 谢谢 我的经验comtypes模块已经相当不错了 然而 您可
  • 使用 seq() 和 rep() 迭代数字

    我需要使用rep and seq 得到以下向量 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8 5 6 7 8 9 通常我只会使用for声明来实现这一点 但我被限制使用它 只能使用rep and seq 来实
  • 添加新的核心数据模型版本后出错

    我添加了一个新的模型版本 并将核心数据模型设置为使用该新版本 但当应用程序尝试启动时出现此错误 用于打开持久存储的托管对象模型版本与用于创建持久存储的版本不兼容 我猜问题是当前的持久存储是模型的旧版本 有没有办法直接删除它 然后再创建一个新
  • Three.js r125 BufferGeometry`顶点`不存在

    我正在更新 Three js 我发现当我升级到 r125 时 尝试设置vertices由于缺少方法 BufferGeometry 失败 似乎也已删除verticesNeedUpdate The 迁移指南似乎没有对此发出警告并且变更日志据我所
  • Team Foundation Server 2010 不支持我的 .tfignore 文件

    这是我的 tfignore 它位于分支的根目录中并提交给 TFS 但它永远不会受到尊重 我想我错过了一些我在阅读中不清楚的语法细节TechNet 有关 tfignore 文件的文章 但是什么 Team Foundation Server S
  • PHP:使用 php 邮件程序发送 ical

    我正在尝试使用 php 邮件程序发送 ical 这是我的功能 function sendIcalEmail firstname lastname email meeting date meeting name meeting duratio