1
如何在Pinax中設置電子郵件確認?我是否需要設置SMTP服務器或類似的東西?,我試圖找到關於該文件但失敗。任何人都可以將我重定向到文檔或任何相關文章解釋這個嗎?,Pinax使用電子郵件確認應用程序。我瀏覽了emailconfirmation的代碼,但它沒有包含任何有關主機或服務器的設置。如何在Django/Pinax中設置電子郵件驗證/確認?
如何在Pinax中設置電子郵件確認?我是否需要設置SMTP服務器或類似的東西?,我試圖找到關於該文件但失敗。任何人都可以將我重定向到文檔或任何相關文章解釋這個嗎?,Pinax使用電子郵件確認應用程序。我瀏覽了emailconfirmation的代碼,但它沒有包含任何有關主機或服務器的設置。如何在Django/Pinax中設置電子郵件驗證/確認?
電子郵件確認的整合非常簡單。如果您有可用於發送郵件的現有郵件服務器,則不必設置任何郵件服務器。你只需要填寫用於在標準的Django設置發送郵件的數據,並emailconfirmation是要使用:
# e-mail settings
# XXXXXXXXXXXXXXXXXXXXXXX THESE ARE NOT YET PRODUCTIONREADY!
EMAIL_HOST='mail.your_mailserver.com'
EMAIL_PORT=1025
EMAIL_HOST_USER='your_username'
EMAIL_HOST_PASSWORD='your_password'
總結下一步做什麼:你必須創建一個表單輸入的電子郵件地址(爲什麼這樣的表單不包含電子郵件配置有點模糊)。這可以是這個樣子:
# email form using emailconfirmation
class AddEmailForm(forms.Form):
def __init__(self, *args, **kwargs):
try:
self.user = kwargs.pop('user')
except KeyError:
pass
super(AddEmailForm, self).__init__(*args, **kwargs)
email = forms.EmailField(label="Email",required=True, widget=forms.TextInput())
def clean_email(self):
try:
EmailAddress.objects.get(user=self.user, email=self.cleaned_data["email"])
except EmailAddress.DoesNotExist:
try:
User.objects.get(email = self.cleaned_data['email'])
except User.DoesNotExist:
return self.cleaned_data["email"]
raise forms.ValidationError(u"email address associated with another account.")
def save(self):
try:
self.user.message_set.create(message="Confirmation email sent to %s" % self.cleaned_data["email"])
except AttributeError:
pass
return EmailAddress.objects.add_email(self.user, self.cleaned_data["email"])
這將允許用戶輸入一個電子郵件地址,檢查電子郵件ADRESS媒體鏈接存在,是其他帳戶使用。之後,它會將電子郵件地址添加到未經確認的電子郵件地址,併發送包含該用戶鏈接的電子郵件。用戶然後可以通過點擊鏈接來確認電子郵件地址。
就是這樣。讓我們希望皮納克斯傢伙很快就會對他們的文檔進行高質量的攻勢;)