Pinax에서 전자 메일 확인을 설정하는 방법, SMTP 서버 또는 이와 유사한 설정이 필요합니까?, 이에 대한 설명서를 찾으려고했지만 실패했습니다. 누구든지이 문서 나 다른 관련 기사로 리디렉션 할 수 있습니까?, Pinax는 emailconfirmation 응용 프로그램을 사용합니다. emailconfirmation 코드를 탐색했지만 호스트 또는 서버에 대한 설정은 포함되어 있지 않습니다.Django/Pinax에서 전자 메일 확인/확인을 설정하는 방법은 무엇입니까?
1
A
답변
2
emailconfirmation의 통합은 매우 간단합니다. 메일을 보내는 데 사용할 수있는 기존 메일 서버가있는 경우 메일 서버를 설정할 필요가 없습니다. 당신은 당신의 표준 장고 설정에서 메일을 보내는 데 사용되는 데이터를 입력해야하고, 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-adress (전자 양식과 함께 제공되지 않는 이유는 다소 모호합니다). 이것은 다음과 같이 보일 수 있습니다
# 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이 allready 존재하고 다른 계정에서 사용하고 있는지 확인합니다. 그 후에 그것은 확인되지 않은 emailadresses에 emailadress를 추가하고 사용자에게 링크가 포함 된 이메일을 보냅니다. 사용자는 링크를 클릭하여 이메일 주소를 확인할 수 있습니다.
그게 전부입니다. Pinax 팀원들이 조만간 문서에 질적 인 공격을하기를 바랍니다.)