# settings.py
EMAIL_BACKEND = 'django.core.mail.backends.filebased.EmailBackend'
# view.py
from django.core.mail import send_mail
def send_letter(request):
the_text = 'this is a test of a really long line that has more words that could possibly fit in a single column of text.'
send_mail('some_subject', the_text, '[email protected]', ['[email protected]'])
Django दृश्य कोड से ऊपर, कि एक टूटी हुई लाइन में शामिल है एक पाठ फ़ाइल में परिणाम:Django ईमेल ऐप टूटी हुई रेखाएं - अधिकतम रेखा लंबाई (और इसे कैसे बदला जाए)?
this is a test of a really long line that has more words that could possibl=
y fit in a single column of text.
-------------------------------------------------------------------------------
किसी को भी पता है कि यह कैसे बदल सकते हैं ताकि आउटपुट फ़ाइल लाइनब्रेक नहीं है? क्या Django में कुछ सेटिंग है जो इसे नियंत्रित करती है? Django के संस्करण 1.2।
अपडेट - एक स्तर बैकअप लेने के लिए और समझाने अपने मूल समस्या :) मैं हूँ Django पंजीकरण एप्लिकेशन है, जो एक खाता सक्रियण लिंक साथ एक ईमेल भेजता है का उपयोग कर। यह लिंक एक लंबा यूआरएल है, जिसमें एक यादृच्छिक अंत में टोकन (30+ वर्ण) है, और नतीजतन, रेखा टोकन के बीच में टूट रही है।
मामले में समस्या Django के filebased EmailBackend उपयोग कर रहा था, मैं डिबगिंग मोड smtp बैकएंड में स्विच करने और निर्मित अजगर smtpd सर्वर भाग गया,। इसने मेरा ईमेल कंसोल पर छोड़ दिया, जहां यह अभी भी टूट गया था।
मुझे यकीन है कि django-पंजीकरण काम कर रहे लोगों के साथ काम कर रहा है :) तो यह कुछ ऐसा होना चाहिए जो मैंने गलत या गलत कॉन्फ़िगर किया है। मुझे बस कोई सुराग नहीं है।
अद्यतन 2 - एक Django सूची में एक पोस्ट के अनुसार, यह वास्तव में अंतर्निहित Python email.MIMEText object है, जो सही है, केवल समस्या को थोड़ा और धक्का देता है। यह अभी भी मुझे यह नहीं बताता कि इसे कैसे ठीक किया जाए। दस्तावेज़ों को देखते हुए, मुझे कुछ भी दिखाई नहीं देता है जो लाइन-रैपिंग का भी उल्लेख करता है।
अद्यतन 3 (श्वास) - मैंने इसे एक MIMEText ऑब्जेक्ट समस्या से इंकार कर दिया है। मैंने टेस्ट ईमेल बनाने और भेजने के लिए एक शुद्ध पायथन प्रोग्राम और smtplib/MIMEText का उपयोग किया, और यह ठीक काम किया। यह भी ने एक वर्णसेट = "us-ascii" का उपयोग किया, जिसे किसी ने सुझाया था कि MIMEText ऑब्जेक्ट्स में टेक्स्ट को लपेटने वाला एकमात्र वर्णमाला था। मुझे नहीं पता कि यह सही है या नहीं, लेकिन मैंने अपने Django ईमेल आउटपुट पर अधिक बारीकी से देखा, और इसमें "utf-8" का एक अक्षर है।
गलत वर्णमाला समस्या हो सकती है? और यदि हां, तो मैं कैसे बदल सकता हूं यह Django में?
यहाँ Django के ईमेल से पूरे उत्पादन धारा है:
---------- MESSAGE FOLLOWS ----------
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Subject: some_subject
From: [email protected]
To: [email protected]
Date: Tue, 17 May 2011 19:58:16 -0000
this is a test of a really long line that has more words that could possibl=
y fit in a single column of text.
------------ END MESSAGE ------------
नोट - बस Django 1.3 में अपग्रेड किया गया, अभी भी समस्या है। (पायथन 2.6 का उपयोग करके) –
जब मैं smtp के साथ परीक्षण करता हूं तो मेरा ईमेल एक यूआरएल अखंड के साथ आता है। फाइलबेस के साथ यह टूटा हुआ है। –
कुछ कोशिश करने के लिए: http://almaer.com/blog/avoiding-broken-links-in-email अपने यूआरएल को '<' and '>' के साथ घेर लेता है (मुझे लगता है कि यह एक ईमेल क्लाइंट चीज है) –