2011-01-10 15 views
19

Django 1.2.4 uygulamasında bazı birim testleri var. Testlerden biri, e-postaların belirli koşullar altında gönderildiğini doğrulamak zorundadır. Bunu nasıl yapabilirim?Posta doğrulama testten gönderildi

İdeal olarak programatik olur, ancak e-posta gövdesini konsola yazdırmak da hoş olurdu.

cevap

37

En son Django sınama belgelerinde Email Services bölüm bulunmaktadır.

Sonra sadece böyle bir şey yapmak:

HTML sürümü (eğer takılı ise) gibi

content, mimetype = mail.outbox[0].alternatives[0] 

Giden nesnelerdir erişebileceğiniz ekli alternatif MIME-tipleri aracılığıyla işlenir

from django.core import mail 

print mail.outbox[0].body 

EmailMessages, further documented here

+1

Ayrıca e-posta mesajının nasıl alınacağını gösterdiğiniz için de teşekkür ederiz (Django dokümanları yalnızca çıkış kutusunun konusunu nasıl alacağınızı gösterir). Giden kutusunun diğer özellikleri için bir referans biliyor musunuz, ör. Mesajın bir html versiyonu? –

+7

HTML sürümü, 'content, mimetype = mail.outbox [0] .alternatives [0] 'gibi erişebileceğiniz (eklediğinizde) ekleyebileceğiniz ekli mimetipler aracılığıyla işlenir. Giden kutusu nesneleri, burada ayrıca belgelenen EmailMessages'tır: https://docs.djangoproject.com/en/dev/topics/email/#django.core.mail.EmailMessage. – mrooney

+1

I * so * Django belgelerinin açık bir şekilde Mrooney olarak açıklamasını ve ona bir miktar rep ödüllendirmenin bir yolu olduğunu söylemeyi dilerim. –

İlgili konular