Приложение, с которым я пытаюсь поэкспериментировать, позволяет пользователям сбрасывать свой пароль с помощью встроенного PasswordResetForm
djangos, в настоящее время я переопределяю его, чтобы иметь возможность отправлять электронные письма в формате HTML с помощью EmailMultiAlternatives
.
Как это выглядит и работает на данный момент.
c ={'name':'Shabeer'}
subject = 'Test Amazon SES'
txt_content = loader.render_to_string('registration/password_reset_email.txt', c)
html_content = loader.render_to_string(email_template_name, c)
msg = EmailMultiAlternatives(subject, txt_content, from_email, [user.email]);
msg.attach_alternative(html_content, 'text/html')
msg.send()
Итак, теперь я начал с этого примера Getting started
от hmarr , вот код, который я добавил в свой settings.py
EMAIL_BACKEND = 'django_ses.SESBackend'
DEFAULT_FROM_EMAIL = '[email protected]'
AWS_ACCESS_KEY_ID = 'MyAcCeSsKeYiD'
AWS_SECRET_ACCESS_KEY = 'MySeCrEtAcCeSsKeY'
AWS_SES_REGION_NAME = 'us-east-1'
AWS_SES_REGION_ENDPOINT = 'email.us-east-1.amazonaws.com'
AWS_SES_RETURN_PATH = '[email protected]'
И электронные письма успешно отправляются пользователям через amazon SES.
Итак, вот моя проблема.
Я пытаюсь не видеть "via" followed by a domain name next to the sender's name
.
Для этого я начал следовать следующему шагу DKIM
руководства. :
- Добавлены настройки DKIM для моего домена, созданного Amazon SES.
- Добавлено следующее в
settings.py
DKIM_DOMAIN = 'myDomainName.com'`
Загружено openssl-for windows и следовал командам
- openssl genrsa -out myDomainName.com.key 512
- openssl rsa -in myDomainName.com.key -out rsa.public -pubout -outform PEM
Были созданы два файла: myDomainName.com.key и rsa.public< /сильный>
- #P10# <блочная цитата> #P11# блочная цитата>
- #P12# <блочная цитата> #P13# блочная цитата>
Сделав все вышеперечисленное, я запускаю свой проект и пытаюсь сбросить пароль, и возникает эта ошибка:
Exception Type: KeyFormatError at /password_reset/
Exception Value: Private key not found
Я пытаюсь понять, что я пропустил или ошибся, некоторые советы/помощь в том, как я мог бы решить эту проблему, были бы очень полезны.
Я новичок в Django/Python, поэтому, пожалуйста, потерпите меня.
Заранее спасибо.
ОБНОВЛЕНИЕ 28 октября 2013 г.:
Я все еще пытаюсь выяснить, что ищет Private Key
django, в то время как я уже добавил DKIM_PRIVATE_KEY
в свой settings.py
ОБНОВЛЕНИЕ 29 октября 2013 г.:
С помощью Пол Иган Я обновил свой
DKIM_PRIVATE_KEY
в своемsettings.py
, чтобы включитьPEM header
, теперь он выглядит так:DKIM_PRIVATE_KEY = '''
-----BEGIN RSA PRIVATE KEY-----
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END RSA PRIVATE KEY----- '''
Теперь электронные письма отправляются без каких-либо ошибок, но в полученном электронном письме по-прежнему отображается via amazonses.com