我试图创建一个约会管理系统,用户可以在其中向管理员发送邀请 session 邮件。我可以从用户向管理员发送一封邮件,但如何从 Gmail 向 outlook 发送事件电子邮件
这是我的settings.py代码
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="254455554a4c4b51654248444c490b464a48" rel="noreferrer noopener nofollow">[email protected]</a>'
EMAIL_HOST_PASSWORD = '******'
EMAIL_PORT = 587
EMAIL_USE_TLS = True
这是我的views.py
def sendRequest(request):
email = EmailMessage('Subject', 'Body', to=['<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="4a2b3a3a2523243e0a2e2f2121253e253a3964292527" rel="noreferrer noopener nofollow">[email protected]</a>'])
email.send()
return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
现在我需要从我的系统 Gmail 帐户发送事件电子邮件而不是一封邮件
我对此进行了一些谷歌,但没有找到任何合适的解决方案一步一步
最佳答案
您可以做的是创建一个包含邀请信息的 .ics
文件(您可以使用 Django 模板编写 .ics
文件,或者直接使用纯 Python 代码)。
您可以在此处查看 .ics
文件规范并阅读更多相关信息:
https://en.wikipedia.org/wiki/ICalendar
然后您可以将此 .ics
文件附加到您的电子邮件中:
email = EmailMessage('Meeting invitation', 'Email body...', '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="0e60617c6b7e62774e6b766f637e626b206d6163" rel="noreferrer noopener nofollow">[email protected]</a>', ['<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="a6d4c3c5cfd6cfc3c8d297e6c3dec7cbd6cac388c5c9cb" rel="noreferrer noopener nofollow">[email protected]</a>', ])
email.attach('invite.ics', invite_file_content, 'text/calendar')
email.send()
或者,您可以使用此第三方应用程序 django-cal
也许这篇文章也可以给你一些关于这个问题的见解: How can I get a meeting invitation to integrate properly with Gmail/Google Apps?
关于django - 如何在 Django 2 中将事件电子邮件请求从 gmail 发送到 Outlook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53078546/