首页 > 解决方案 > 这是使用 Laravel 发送日历邀请的正确方法吗?

问题描述

$organizer 变量有什么问题我不知道这个变量发生了什么

case 1: $organizer = "CN=Organizer name:email@YourOrganizer.com";

whatsappstatus0001@gmail 是用于从网站发送电子邮件的电子邮件地址。假设我是要填写表格的人(例如:robopathshala@gmail.com),whatsappstatus0001@gmail 电子邮件地址会将 robopathshala 的信息详细信息发送到销售人员电子邮件地址(例如:alokm014@gmail.com)。

销售人员收到邀请邮件。请查看截图案例1 案例1

这很好,但为什么销售人员收到电子邮件发送失败通知。

case 2: case 1: $organizer = "CN=Organizer Sales:alokm014@gmail.com"; 

现在,销售人员收到邀请邮件,但没有按钮。请查看截图案例2

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Queue\ShouldQueue;

class NewContactRequest extends Mailable
{
    use Queueable, SerializesModels;

    public $data;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct($data)
    {
        $this->data = $data;
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        $hour = 0;

        if(($this->data['what'])=="PM"){
            $hour = $this->data['hour'] + 12;
        }
        else{
           $hour = $this->data['hour']; 
        }

        $filename = "invite.ics";
        $meeting_duration = (3600 * 2); // 2 hours

        $meetingstamp = strtotime($this->data['date'].'T'.$hour.$this->data['min'] . "UTC");

        $dtstart = gmdate('Ymd\THis\Z', $meetingstamp- 19800);

        $dtend =  gmdate('Ymd\THis\Z', $meetingstamp- 19800 + $meeting_duration);
        $todaystamp = gmdate('Ymd\THis\Z');

        $uid = date('Ymd').'T'.date('His').'-'.rand().'@yourdomain.com';

        $description = ("Full Name:".$this->data['name'].", Mobile no:".$this->data['phone'].", Company Name:".$this->data['company']);
        $location = "Delhi";
        $titulo_invite = "Schedule A Demo";
        $organizer = "CN=Organizer name:email@YourOrganizer.com";

        // ICS
        $mail[0]  = "BEGIN:VCALENDAR";
        $mail[1] = "PRODID:-//Google Inc//Google Calendar 70.9054//EN";
        $mail[2] = "VERSION:2.0";
        $mail[3] = "CALSCALE:GREGORIAN";
        $mail[4] = "METHOD:REQUEST";
        $mail[5] = "BEGIN:VEVENT";
        $mail[6] = "DTSTART;TZID=India:" . $dtstart;
        $mail[7] = "DTEND;TZID=India:" . $dtend;
        $mail[8] = "DTSTAMP;TZID=India:" . $todaystamp;
        $mail[9] = "UID:" . $uid;
        $mail[10] = "ORGANIZER;" . $organizer;
        $mail[11] = "CREATED:" . $todaystamp;
        $mail[12] = "DESCRIPTION:" . $description;
        $mail[13] = "LAST-MODIFIED:" . $todaystamp;
        $mail[14] = "LOCATION:" . $location;
        $mail[15] = "SEQUENCE:0";
        $mail[16] = "STATUS:CONFIRMED";
        $mail[17] = "SUMMARY:" . $titulo_invite;
        $mail[18] = "TRANSP:OPAQUE";
        $mail[19] = "END:VEVENT";
        $mail[20] = "END:VCALENDAR";

        $mail = implode("\r\n", $mail);
        header("text/calendar");
        file_put_contents($filename, $mail);


        return $this->from('whatsappstatus0001@gmail.com')
            ->subject('Schedule A Demo')
            ->attach($filename, array('mime' => "text/calendar"))
            ->view('email')->with('data', $this->data);

    }
}

请帮我。我无法理解流程。

标签: phplaravelcalendaricalendarinvite

解决方案


推荐阅读