Почему мои ссылки html из электронной почты django не доступны для кликов?

Я отправил следующее письмо через Django

subject, from_email, to = 'site Registration', '[email protected]', self.second_email text_content = 'Click on link to finish registration' html_content = '<html><body><a href="site.com/accounts/user/' + self.slug +'">Click Here</a></body></html>' msg = EmailMultiAlternatives(subject, text_content, from_email, [to]) msg.attach_alternative(html_content, "text/html") msg.send() 

Когда я пошел по электронной почте (электронная почта google и yahoo), они оба отображали текст «Щелкнуть здесь» синим цветом (я предполагаю, что это означает, что оно распознается как ссылка), однако ссылка не доступна для кликов и не ссылается на site.com/ acc … Что я делаю неправильно?

Благодаря!

Вероятно, вам нужно сделать его действительным URL: (обратите внимание на включенную схему)

 <a href="http://site.com/accounts/user/' + self.slug +'"> 

Я создал вспомогательную функцию для этого и использовал render_to_string для использования HTML-шаблона для отправки вместо ввода всего в функции. Вот моя функция:

 def signup_email(username, email, signup_link): subject, from_email, to = 'Site Registration', settings.DEFAULT_FROM_EMAIL, email text_content = 'Click on link to finish registration' html_content = render_to_string('pet/html_email.html', {'username': username, 'signup_link':signup_link}) msg = EmailMultiAlternatives(subject, text_content, from_email, [to]) msg.attach_alternative(html_content, "text/html") return msg 

Затем в view.py просто назовите его:

 class OwnerCreateAccount(FormView): # class based view attributes def form_valid(self, form): # other form logic msg = signup_email(username=username, email=email, signup_link=owner.salt) msg.send() return super(OwnerCreateAccount, self).form_valid(form)