2012-01-25 10 views
2

django.core.mail.send_mail関数を使用して電子メールを送信できません。send_mailで電子メールを送信すると、Djangoの「不適切な埋め込み」エラーが発生する

mail_adminsとmail_managersを使ってメールを送信しても問題ありません。私の問題はメールの設定ではないと思います。

私は私のDjangoのサーバはvirtualenvの内部で実行されているので、これは、また、非常に奇妙である

File "/usr/lib/python2.6/base64.py" in decodestring 
321.  return binascii.a2b_base64(s) 

に「不正なパディング」なエラーになっています。 フルトレースバックは以下の通りです:

Traceback: 
File "/env_frugar/lib/python2.6/site-packages/django/core/handlers/base.py" in get_response 
    111.       response = callback(request, *callback_args, **callback_kwargs) 
File "/env/lib/python2.6/site-packages/django/contrib/auth/decorators.py" in _wrapped_view 
    23.     return view_func(request, *args, **kwargs) 
File "/env/lib/python2.6/site-packages/django/views/generic/base.py" in view 
    47.    return self.dispatch(request, *args, **kwargs) 
File "/env/lib/python2.6/site-packages/django/views/generic/base.py" in dispatch 
    68.   return handler(request, *args, **kwargs) 
File "/env/lib/python2.6/site-packages/django/views/generic/edit.py" in post 
    172.   return super(BaseCreateView, self).post(request, *args, **kwargs) 
File "/env/lib/python2.6/site-packages/django/views/generic/edit.py" in post 
    138.    return self.form_valid(form) 
File "/env/lib/python2.6/site-packages/django/views/generic/edit.py" in form_valid 
    112.   self.object = form.save() 
File "/env/lib/python2.6/site-packages/django/forms/models.py" in save 
    363.        fail_message, commit, construct=False) 
File "/env/lib/python2.6/site-packages/django/forms/models.py" in save_instance 
    85.   instance.save() 
File "/env/lib/python2.6/site-packages/django/db/models/base.py" in save 
    460.   self.save_base(using=using, force_insert=force_insert, force_update=force_update) 
File "/env/lib/python2.6/site-packages/django/db/models/base.py" in save_base 
    570.     created=(not record_exists), raw=raw, using=using) 
File "/env/lib/python2.6/site-packages/django/dispatch/dispatcher.py" in send 
    172.    response = receiver(signal=self, sender=sender, **named) 
File "/myproject/myapp/models.py" in send_email_after_widget_creation 
    88.   send_mail(subject, message, from_email, recipient_list, fail_silently= not settings.DEBUG) 
File "/env/lib/python2.6/site-packages/django/core/mail/__init__.py" in send_mail 
    61.       connection=connection).send() 
File "/env/lib/python2.6/site-packages/django/core/mail/message.py" in send 
    251.   return self.get_connection(fail_silently).send_messages([self]) 
File "/env/lib/python2.6/site-packages/django/core/mail/backends/smtp.py" in send_messages 
    79.    new_conn_created = self.open() 
File "/env/lib/python2.6/site-packages/django/core/mail/backends/smtp.py" in open 
    48.     self.connection.login(self.username, self.password) 
File "/usr/lib/python2.6/smtplib.py" in login 
    574.    (code, resp) = self.docmd(encode_cram_md5(resp, user, password)) 
File "/usr/lib/python2.6/smtplib.py" in encode_cram_md5 
    537.    challenge = base64.decodestring(challenge) 
File "/usr/lib/python2.6/base64.py" in decodestring 
    321.  return binascii.a2b_base64(s) 

起こって何ができるかの任意のアイデア?

UPADTE:

被写体た(それはポルトガル語だ):

[Django] [FRUGAR-WiDGET] novo widget criado

本体た:

Novo widget criado: 
Nome:test 10 
Por: dudu 
+0

メッセージ本文の内容はどのように見えますか?説明のために – buckley

答えて

0

Base-64は、3バイト(0-255の範囲内のエコー)から4バイト(それぞれ制限された範囲の )をエンコードします。出力の長さは、常に、倍数 (空白は無視されます)です。方法は、入力の長さは、SO 3 -

の倍数でない場合、復号化が「間違っパディング」エラーが発生した場合、これが事実であることを保証するために余分なパディングバイト(ASCII 「=」)を加算します の空白を除外し、余分なASCII '='を付加してその長さを の倍数にしてから、もう一度デコードを試みてください。 (または単にパッド のパッドを繰り返し追加して3回まで再試行することができます)

最も簡単な解決法は、パケットが常に4バイトの倍数であることを確認することです。

+0

ありがとうございます。私はこのエラーの原因となっていた問題を発見し、電子メールアドレスの認証に関連していました。 – duduklein

+0

あなたの解答を回答として投稿し、それを受け入れてこの質問を閉じます。 –

0

問題は認証にありました。 Djangoはメールサーバで認証できませんでした。一度これを修正してしまえば、問題はなくなりました。

関連する問題