Quiero enviar una invitación de calendario. Estoy usando Nodemailer e ical ical-generator para generar un archivo ical. Todo funciona bien, pero el correo electrónico no agrega la invitación al calendario automáticamente, sino que aparece la opción Add to calendar . Pero quiero que el correo electrónico agregue directamente el evento al calendario.
Así es como se ve el correo electrónico:
Mi código se ve así.
Este código se convierte en un archivo ical y se usa con Nodemailer icalEvent para enviarlo.
const content = ical({ domain: 'google.com', method: 'PUBLISH', prodId: '//Google Inc//Google Calendar 70.9054//EN', timezone: 'Australia/Brisbane', scale: 'GREGORIAN', events: [ { start: moment(), status: 'CONFIRMED', end: moment().add(1, 'hour'), summary: 'Calendar invite test', transparency: 'OPAQUE', organizer: { name: 'Organiser name', email: 'ttt@gmail.com', mailto: 'ttt@gmail.com' }, location: 'Zoom', attendees: [ { email: 'my-email-address@gmail.com', name: 'Shashank Kumar', status: 'NEEDS-ACTION', rsvp: true, type: 'INDIVIDUAL', role: 'REQ-PARTICIPANT' }, { email: 'mno@gmail.com', name: 'Mike Jack', status: 'NEEDS-ACTION', type: 'INDIVIDUAL', role: 'REQ-PARTICIPANT' }, { email: 'xyz@gmail.com', name: 'Will Paul', status: 'NEEDS-ACTION', type: 'INDIVIDUAL', role: 'REQ-PARTICIPANT' } ] } ] }).toString();y luego estoy usando Nodmailer para enviar icalEvent
message: { to: toEmail, headers: { 'x-invite': { prepared: true, value: id } }, icalEvent: { filename: 'invite.ics', method: 'PUBLISH', content: content } },Solo necesita usar 'SOLICITUD' como método en lugar de 'PUBLICAR', esto se agregará automáticamente a su calendario y mostrará los botones de confirmación