У меня есть простое приложение django, которое позволяет пользователям добавлять нового пользователя. Всякий раз, когда мы создаем нового пользователя, почта будет отправляться на соответствующий адрес электронной почты (то, что мы дали при создании нового пользователя). Если я добавил нового пользователя с электронной почтой скажем [email protected], письмо будет успешно отправлено на [email protected]. У меня нет проблем.
Но когда я пытаюсь написать тестовый пример для добавления нового пользователя, я получаю ошибку в строке отправки электронной почты в моем коде... т.е. TypeError: __init__() takes at most 2 non-keyword arguments (6 given)
. Код приведен ниже,
#from my views.py,
Email().send_email(settings.FORGOT_SUBJECT, emailmessage, [username],
settings.CONTENT_TYPE)`
Пожалуйста, помните, что у меня нет проблем в этой строке, когда я создал пользователя с веб-страницы, и почта успешно отправлена. Только ошибка в этой строке во время теста.
# code for SMTP connection
class Email:
def __init__(self):
return;
def send_email(self, subject, message, recipients, contenttype):
"""
Send email using smtp connection.
"""
try:
from django.core.mail import EmailMessage, SMTPConnection, send_mail
from settings import EMAIL_HOST, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_PORT, EMAIL_USE_TLS
finally:
connection = SMTPConnection(EMAIL_HOST, EMAIL_PORT, EMAIL_HOST_USER, EMAIL_HOST_PASSWORD, EMAIL_USE_TLS)
emailMessage = EmailMessage(subject, message, settings.EMAIL_HOST_USER, recipients)
emailMessage.content_subtype = contenttype
connection.send_messages([emailMessage])
Пожалуйста, дайте любое решение, чтобы избежать этой ошибки.
TypeError: __init__() takes at most 2 non-keyword arguments (6 given)
Заранее спасибо.