- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
# 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, 'me@test.com', ['me@test.com'])
上面的 Django View 代码生成了一个包含虚线的文本文件:
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-registration 应用程序,它会发送一封带有帐户激活链接。这个链接是一个很长的网址,带有一个随机的标记在末尾(30 多个字符),结果,该行在标记中间断开。
如果问题是使用 Django 的 filebased EmailBackend,我切换到 smtp 后端并在 Debug模式下运行内置的 Python smtpd 服务器。这将我的电子邮件转储到控制台,它仍然是坏的。
我确定 django-registration 正在运行,有无数人在使用它 :) 所以这一定是我做错了或配置错误。我只是不知道是什么。
更新 2 - 根据 Django 列表中的帖子,它确实是基础 Python email.MIMEText object ,如果正确的话,只会将问题推后一点。它仍然没有告诉我如何修复它。查看文档,我什至没有看到任何提到换行的内容。
更新 3(叹息)- 我已经排除了它是 MIMEText 对象问题。我使用纯 Python 程序和 smtplib/MIMEText 来创建和发送测试电子邮件,并且运行良好。它还使用了 charset = "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: me@test.com
To: me@test.com
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 ------------
最佳答案
您可以通过创建 EmailMessage 对象并传入 headers={'format': 'flowed'} 来让您的电子邮件客户端不超过 78 个字符的软限制,如下所示:
from django.core.mail import EmailMessage
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.'
email = EmailMessage(
subject='some_subject',
body=the_text,
from_email='me@test.com',
to=['me@test.com'],
headers={'format': 'flowed'})
email.send()
如果这不起作用,请尝试使用非调试 smtp 设置将文件发送到实际的电子邮件客户端,该客户端根据电子邮件 header 中定义的规则呈现电子邮件。
关于python - Django 电子邮件应用程序断线 - 最大行长度(以及如何更改它)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5851939/
关闭。此题需要details or clarity 。目前不接受答案。 想要改进这个问题吗?通过 editing this post 添加详细信息并澄清问题. 已关闭 9 年前。 Improve th
请参阅以下玩具示例。 任何帮助将不胜感激!谢谢! shinyApp( ui = fluidPage( actionButton("btnId", "I want a line break he
我收到如下 JSON 响应: Lorem ipsum ¦dolor sit amet 我想做的是替换所有broken bars (|)。 我尝试过 .replaceAll("\u00A6", "");
我正在尝试学习图像特征检测技术。 我已经设法检测到水平线(不间断/连续),但是我无法检测到图像中的所有虚线/断线。 这是我的测试图片,你可以看到有虚线和一些文本/框等。 到目前为止,我使用了以下代码,
我有一个 json 文件,其中包含一些文本,其中一些文本可能有一些断线 "surchargeNoteText":"Please note \r \n that pre-payments will ta
我正在尝试制作一个 html + css 网站,我试图为一个跨度(具有 .float 类)制作一个正确的 float ,但它打破了一条线,我想知道如何防止它打破一个线?我尝试了 display:inl
我有 2 个 float div,我想将它们放在同一行上,它们加起来超过 1024 像素宽,因此它们需要水平窗口滚动,但尽管它们用 white-space:nowrap;
我是一名优秀的程序员,十分优秀!