Okay I found the
----------- cut --------------
else:
text =
text.read().decode(encoding).encode('utf-8')
attachment.attach(MIMEText.MIMEText(text))
if html != None:
if isinstance(html, str):
html = html.decode(encoding).encode('utf-8')
----------- cut --------------
at line 285 in gluon/tools.py.
I changed the
attachment.attach(MIMEText.MIMEText(text))
line to
attachment.attach(MIMEText.MIMEText(text,_charset='utf-8'))
"_charset is the character set of the text and is passed as a
parameter to the
MIMENonMultipart constructor; it defaults to us-ascii. No guessing or
encoding is performed
^^^^^^^^
on the text data."
because of http://docs.python.org/library/email.mime.html:
----------------------- cut ------------------------
class email.mime.text.MIMEText(_text[, _subtype[, _charset]])
Module: email.mime.text
A subclass of MIMENonMultipart, the MIMEText class is used to create
MIME objects of major type text. _text is the string for the payload.
_subtype is the minor type and defaults to plain. _charset is the
character set of the text and is passed as a parameter to the
MIMENonMultipart constructor; it defaults to us-ascii. No guessing or
encoding is performed on the text data.
Changed in version 2.4: The previously deprecated _encoding argument
has been removed. Encoding happens implicitly based on the _charset
argument.
----------------------- cut ------------------------
But the Subject line isn't good because it has no encoding information
in it...
On márc. 2, 21:41, szimszon <[email protected]> wrote:
> It isn't good in 1.76.1 too :(
>
> On febr. 25, 23:43, Thadeus Burgess <[email protected]> wrote:
>
>
>
> > I did some more testing.
>
> > Server A -> Google SMTP -> receive Content-Type us-ascii
> > Server B -> Custom SMTP -> receive Content-Type utf-8
>
> > If I take Server B's credentials for the SMTP server, and stick them
> > in Server A this is the result..
>
> > ServerA -> Custom SMTP -> receive Content-Type utf-8
> > ServerB -> Custom SMTP -> receive Content-Type utf-8
>
> > And I also did the reverse
>
> > ServerA -> Google SMTP -> receive Content-Type us-ascii
> > ServerB -> Google SMTP -> receive Content-Type us-ascii
>
> > The only change is the credentials and SMTP server I am connecting to,
> > no code changes whatsoever.
>
> > -Thadeus
>
> > On Thu, Feb 25, 2010 at 4:20 PM, szimszon <[email protected]> wrote:
> > > Hmmm... I don't use gmail or google to sendemail...
>
> > > You talk about the character real representation like ÁÖ...
> > > or theemailpart header
> > > --===============1974471883==
> > > Content-Type: text/plain;charset="us-ascii"
> > > MIME-Version: 1.0
> > > Content-Transfer-Encoding: 8bit
>
> > > if you say us-ascii?
>
> > > I think theemailmessage part header
> > > --===============1974471883==
> > > Content-Type: text/plain;charset="us-ascii"
> > > MIME-Version: 1.0
> > > Content-Transfer-Encoding: 8bit
>
> > > is part of themailbody and generated by python. I don't think it
> > > gets rewritten bymailtransport agent. So my primary concern is the
> > > generated instruction about how to read the rest of the message. Is it
> > > us-ascii or utf-8. I don't mind how is the text actually encoded...
>
> > > On febr. 25, 17:18, Thadeus Burgess <[email protected]> wrote:
> > >> There might be an issue that web2py is encoding theemailcorrectly,
> > >> however your SMTP server is re-coding this into its own encoding.
>
> > >> I use Google Apps to send all of my emails with my web2py instances. I
> > >> just checked some of the messages received and they are all encoded
> > >> "us-ascii".
>
> > >> Further investigation using a SMTP server that we manage ourselves
> > >> with (mt), all emails sent from this server are encoded utf-8.
>
> > >> This must not be a web2py issue but SMTP issue. Google and the like
> > >> decide to recode all of their messages, and there might not be
> > >> anything that can be done about it besides using your own SMTP server.
>
> > >> -ThadeusOn Thu, Feb 25, 2010 at 7:12 AM, szimszon <[email protected]>
> > >> wrote:
> > >> > I need utf-8 :)
>
> > >> > On febr. 25, 12:20, mdipierro <[email protected]> wrote:
> > >> >> Because encoding="utf-8" is default. You have to figure
> > >> >> out what is the encoding you need.
>
> > >> >> On Feb 25, 4:32 am, szimszon <[email protected]> wrote:
>
> > >> >> > I tested it again,
>
> > >> >> > I created a new scaffolding app with the admin interface then I
> > >> >> > changed:
> > >> >> > db.py:
> > >> >> >mail=Mail() # mailer
> > >> >> >mail.settings.server='localhost:25' # your SMTP server
> > >> >> >mail.settings.sender='pr...@localhost' # youremail
>
> > >> >> > default.py (controller)
> > >> >> > def index():
> > >> >> > """
> > >> >> > example action using the internationalization operator T and
> > >> >> > flash
> > >> >> > rendered by views/default/index.html or views/generic.html
> > >> >> > """
> > >> >> > response.flash = T('mailtest')
> > >> >> > context=dict(name="Gipsz Jakab",
> > >> >> > addr="Szt. Erzsébet körút")
> > >> >> > message=response.render('emailbody.txt', context)
> > >> >> > mail.send(to="szimszon",
> > >> >> > subject="testemail",
> > >> >> > message=message)
>
> > >> >> > return dict(message=T('Mailsent'))
>
> > >> >> > made an emailbody.txt in views:
> > >> >> > emailbody.txt
> > >> >> > Üdvözlöm {{=name}}!
>
> > >> >> > Címed: {{=addr}}
>
> > >> >> > Ez egy teszt elektronikus levél.
>
> > >> >> > Árvíztűrő tükörfúrógép!
> > >> >> > ------------------
>
> > >> >> > Then I navigate to the site to send myself a letter:
>
> > >> >> > ----- cut -----
> > >> >> > From pr...@localhost Thu Feb 25 11:24:05 2010
> > >> >> > Return-Path: <pr...@localhost>
> > >> >> > X-Original-To: szimszon
> > >> >> > Delivered-To: szims...@xxxxxxxxxxxxx
> > >> >> > Received: from xxxxxxxxxxxxxxx (localhost [127.0.0.1])
> > >> >> > by xxxxxxxxxxx (Postfix) with ESMTP id C542A31CBF
> > >> >> > for <szimszon>; Thu, 25 Feb 2010 11:24:05 +0100 (CET)
> > >> >> > Content-Type: multipart/related;
> > >> >> > boundary="===============1518445122=="
> > >> >> > MIME-Version: 1.0
> > >> >> > To: szims...@xxxxxxxxxxxxxxxx
> > >> >> > Subject: testemail
> > >> >> > Message-Id: <20100225102405.c542a31...@xxxxxxxxxxxxxxx>
> > >> >> > Date: Thu, 25 Feb 2010 11:24:05 +0100 (CET)
> > >> >> > From: pr...@localhost
>
> > >> >> > --===============1518445122==
> > >> >> > Content-Type: multipart/alternative;
> > >> >> > boundary="===============1974471883=="
> > >> >> > MIME-Version: 1.0
>
> > >> >> > --===============1974471883==
> > >> >> > Content-Type: text/plain;charset="us-ascii"
> > >> >> > MIME-Version: 1.0
> > >> >> > Content-Transfer-Encoding: 8bit
>
> > >> >> > Üdvözlöm Gipsz Jakab!
>
> > >> >> > Címed: Szt. Erzsébet körút
>
> > >> >> > Ez egy teszt elektronikus levél.
>
> > >> >> > Árvíztűrő tükörfúrógép!
>
> > >> >> > --===============1974471883==--
> > >> >> > --===============1518445122==--
>
> > >> >> > ----- cut -----
>
> > >> >> >charset: us-ascii
>
> > >> >> > If I changed the
> > >> >> > mail.send(to="szimszon",
> > >> >> > subject="testemail",
> > >> >> > message=message)
>
> > >> >> > to
> > >> >> > mail.send(to="szimszon",
> > >> >> > subject="testemail",
> > >> >> > message=message,
> > >> >> > encoding="utf-8")
> > >> >> > made no difference :(
> > >> >> > On febr. 23, 21:01, Thadeus Burgess <[email protected]> wrote:
>
> > >> >> > > I am unable to replicate this.
>
> > >> >> > > -Thadeus
>
> > >> >> > > On Tue, Feb 23, 2010 at 1:59 PM, szimszon <[email protected]>
> > >> >> > > wrote:
> > >> >> > > > No change:
>
> > >> >> > > > --===============2046819983==
> > >> >> > > > Content-Type: multipart/alternative;
> > >> >> > > > boundary="===============1304182396=="
> > >> >> > > > MIME-Version: 1.0
>
> > >> >> > > > --===============1304182396==
> > >> >> > > > Content-Type: text/plain;charset="us-ascii"
> > >> >> > > > MIME-Version: 1.0
> > >> >> > > > Content-Transfer-Encoding: 7bit
>
> > >> >> > > > On febr. 23, 20:47, Thadeus Burgess <[email protected]>
> > >> >> > > > wrote:
> > >> >> > > >> Have you tried
>
> > >> >> > > >>mail.send(encoding='us-ascii') ?
>
> > >> >> > > >> -Thadeus
>
> > >> >> > > >> On Tue, Feb 23, 2010 at 1:33 PM, szimszon <[email protected]>
> > >> >> > > >> wrote:
> > >> >> > > >> > Okay. I see...
>
> > >> >> > > >> > The default is utf-8 and if I set it to utf-8 manually there
> > >> >> > > >> > is no
> > >> >> > > >> > difference. This is the generatedmailcontent :( :
>
> > >> >> > > >> > --===============1981490134==
> > >> >> > > >> > Content-Type: multipart/alternative;
> > >> >> > > >> > boundary="===============0000859693=="
> > >> >> > > >> > MIME-Version: 1.0
>
> > >> >> > > >> > --===============0000859693==
> > >> >> > > >> > Content-Type: text/plain;charset="us-ascii"
> > >> >> > > >> > MIME-Version: 1.0
> > >> >> > > >> > Content-Transfer-Encoding: 7bit
>
> > >> >> > > >> > On febr. 23, 20:06, Thadeus Burgess <[email protected]>
> > >> >> > > >> > wrote:
> > >> >> > > >> >> Your looking in the wrong place.
>
> > >> >> > > >> >> lines 172-182
>
> > >> >> > > >> >> On line 181 is the encoding.
>
> > >> >> > > >> >>http://code.google.com/p/web2py/source/browse/gluon/tools.py#181
>
> > >> >> > > >> >> def send(
> > >> >> > > >> >> self,
> > >> >> > > >> >> to,
> > >> >> > > >> >> subject='None',
> > >> >> > > >> >> message='None',
> > >> >> > > >> >> attachments=None,
> > >> >> > > >> >> cc=None,
> > >> >> > > >> >> bcc=None,
> > >> >> > > >> >> reply_to=None,
> > >> >> > > >> >> encoding='utf-8'
> > >> >> > > >> >> ):
>
> > >> >> > > >> >> -Thadeus
>
> > >> >> > > >> >> On Tue, Feb 23, 2010 at 12:34 PM, szimszon
> > >> >> > > >> >> <[email protected]> wrote:
> > >> >> > > >> >> > This is the sniplet of the most recent (1.75.4) web2py's
> > >> >> > > >> >> > tools.py's
> > >> >> > > >> >> > classMail:
>
> > >> >> > > >> >> > def __init__(self, server=None, sender=None,
> > >> >> > > >> >> > login=None,
> > >> >> > > >> >> > tls=True):
> > >> >> > > >> >> > """
> > >> >> > > >> >> > MainMailobject
> > >> >> > > >> >> > Arguments::
> > >> >> > > >> >> > server: SMTP server address in address:port
> > >> >> > > >> >> > notation
> > >> >> > > >> >> > sender: senderemailaddress
> > >> >> > > >> >> > login: sender login name and password in
> > >> >> > > >> >> > login:password
> > >> >> > > >> >> > notation
> > >> >> > > >> >> > or None if no authentication is required
> > >> >> > > >> >> > tls: enables/disables encryption (True by
> > >> >> > > >> >> > default)
>
> > >> >> > > >> >> > I can't do another, the file is dated:
> > >> >> > > >> >> > tools.py │ 113589│febr 18 21.57
>
> > >> >> > > >> >> > Is it old?
>
> > >> >> > > >> >> > On febr. 23, 17:32, Thadeus Burgess
> > >> >> > > >> >> > <[email protected]> wrote:
> > >> >> > > >> >> >>Mailhas an encoding variable, unless you are running an
> > >> >> > > >> >> >>older version
> > >> >> > > >> >> >> of web2py.
>
> > >> >> > > >> >> >> The code you posted is for the attachment class.
>
> > >> >> > > >> >> >> -Thadeus
>
> > >> >> > > >> >> >> On Tue, Feb 23, 2010 at 3:05 AM, szimszon
> > >> >> > > >> >> >> <[email protected]> wrote:
> > >> >> > > >> >> >> > tools.py │ 113589│febr 18 21.57
>
> > >> >> > > >> >> >> > classMail(object):
> > >> >> > > >> >> >> > """
> > >> >> > > >> >> >> > Class for configuring and sending emails with
> > >> >> > > >> >> >> > alternative text /
> > >> >> > > >> >> >> > html
> > >> >> > > >> >> >> > body, multiple attachments and encryption support
>
> > >> >> > > >> >> >> > Works...
>
> tovább »
--
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en.