制作一个发送电子邮件的程序,该电子邮件超链接django中的文本

时间:2013-07-31 20:30:29

标签: python html django

confirm_links = 'To confirm this order http://mywebsite.com '
deny_links = '\nTo deny this order http://mywebsite.com 

email=EmailMessage('title_text',  confirm_links+deny_links, to=['youremail@gmail.com'])
email.send()
signals.post_save.connect(send_email_on_new_order, sender= PurchaseOrder, dispatch_uid = 'send_email_on_new_order')

我的程序会向用户发送一个链接,他们可以点击这两个链接来确认或拒绝他们的订单。我想把它带到哪里,他们看不到行http://mywebsite.com,只是看到“订单”超链接到http://mywebsite.com

2 个答案:

答案 0 :(得分:3)

引自docs

  

默认情况下,EmailMessage中body参数的MIME类型为   “文本/纯”

将您的链接放在<a>标记中并设置email.content_subtype = "html"

confirm_links = 'To confirm this <a href="http://mywebsite.com">order</a>'
deny_links = '\nTo deny this <a href="http://mywebsite.com">order</a>'
email=EmailMessage('title_text',  confirm_links+deny_links, to=['youremail@gmail.com'])
email.content_subtype = "html"
email.send()

尽管如此,发送邮件的文本和HTML版本是一种很好的做法。考虑使用EmailMultiAlternatives

答案 1 :(得分:0)

如果您只想制作经典链接,则只需使用HTML <a>标记即可。此外,如果您想指向特定网址,可以使用reverse()功能(请参阅documentation about URL

同时设置email.content_subtype = "html"