Как добавить вложение в файл .ics, используя meteor javascript? - PullRequest
0 голосов
/ 26 апреля 2020

Это мой формат файла .ics

var filename = "WebinarSeries";
                var sessionId = this.params.getSessionId;
                var eventId = this.params.getEventId;
                var orgId = this.params.getOrgId;
                var session = Content.findOne({"_id":sessionId})
                var nameParameter = GlobalDetails.find({}).fetch()[0].globalName;
                var headers = {
                    'Content-Type': 'text/calendar; charset=utf-8',
                    'Content-Disposition': 'inline; filename="' + filename + '".ics',
                    'Cache-Control': 'no-cache, no-store, must-revalidate',
                    'Pragma': 'no-cache',
                    'Expires': "0"
                };
                var start,end,url,title;
                var sDate = session.sessionStartTimeFormatted;

                var eDate = session.sessionEndTimeFormatted;
                
                var desc = session.description;
                
                start= moment.utc(new Date(sDate)).format('YYYYMMDDTHHmm00')+'Z';
                end= moment.utc(new Date(eDate)).format('YYYYMMDDTHHmm00')+'Z';
                var dtstamp = moment.utc(new Date()).format('YYYYMMDDTHHmm00')+'Z';
                title = session["title"];
                //url = SETTINGS.ROOT_URL+"/"+orgId+"/"+eventId;
                rootUrl = SETTINGS.ROOT_URL;
                if(rootUrl[rootUrl.length-1]=="/"){
                    url = SETTINGS.ROOT_URL+orgId+"/"+eventId;
                }
                else{
                    url = SETTINGS.ROOT_URL+"/"+orgId+"/"+eventId;
                }

                this.response.writeHead(200, headers);
                this.response.write("BEGIN:VCALENDAR\n");
                this.response.write("VERSION:2.0\n");
                this.response.write("PRODID:"+nameParameter+"\n");
                this.response.write("BEGIN:VEVENT\n");
                this.response.write("DTSTAMP:"+dtstamp+"\n");
                this.response.write("DTSTART:"+start+"\n");
                this.response.write("DTEND:"+end+"\n");
                this.response.write("SUMMARY:"+title+"\n");
                this.response.write("DESCRIPTION:@ " + desc + "\n");
                this.response.write("URL: " + encodeURIComponent(url)+"\n");
                this.response.write("BEGIN:VALARM\n");
                this.response.write("TRIGGER:-PT5M\n");
                this.response.write("ACTION:DISPLAY\n");
                this.response.write("END:VALARM\n");
                this.response.write("END:VEVENT\n");
                this.response.write("END:VCALENDAR\n");
                return this.response.end();
Я не знаю, как отправить вложение в почтовый клиент, приведенный выше код является просто форматом деталей календаря, и код вложения не указан. Помогите мне, как добавить этот файл .ics в электронное письмо. Спасибо!
...