Adam Coddington
ef42c319e9
Updating yet another string for python3.
2014-04-22 16:24:16 -07:00
Adam Coddington
d871d41448
Fix test for Py3 support.
2014-04-22 16:06:34 -07:00
Adam Coddington
79e189fb22
Always decode headers into unicode objects before assigning to model; fixes #12 .
2014-04-22 15:49:49 -07:00
dmippoltiov
d3a766ffd6
Create test_UnicodeDecodeError.eml
...
this message raise error on get_mail:
Traceback:
File "/usr/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
114. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python2.7/site-packages/django/views/generic/base.py" in view
69. return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch
87. return handler(request, *args, **kwargs)
File "/home/leha/django-site/proj/views.py" in get
140. messages = mailbox.get_new_mail()
File "/usr/local/lib/python2.7/site-packages/django_mailbox/models.py" in get_new_mail
285. msg = self.process_incoming_message(message)
File "/usr/local/lib/python2.7/site-packages/django_mailbox/models.py" in process_incoming_message
183. msg = self._process_message(message)
File "/usr/local/lib/python2.7/site-packages/django_mailbox/models.py" in _process_message
266. msg.save()
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in save
545. force_update=force_update, update_fields=update_fields)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in save_base
573. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in _save_table
654. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/usr/local/lib/python2.7/site-packages/django/db/models/base.py" in _do_insert
687. using=using, raw=raw)
File "/usr/local/lib/python2.7/site-packages/django/db/models/manager.py" in _insert
232. return insert_query(self.model, objs, fields, **kwargs)
File "/usr/local/lib/python2.7/site-packages/django/db/models/query.py" in insert_query
1511. return query.get_compiler(using=using).execute_sql(return_id)
File "/usr/local/lib/python2.7/site-packages/django/db/models/sql/compiler.py" in execute_sql
898. cursor.execute(sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/util.py" in execute
73. sql = self.db.ops.last_executed_query(self.cursor, sql, params)
File "/usr/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/operations.py" in last_executed_query
214. return cursor.query.decode('utf-8')
File "/usr/local/lib/python2.7/encodings/utf_8.py" in decode
16. return codecs.utf_8_decode(input, errors, True)
Exception Type: UnicodeDecodeError at /proj/new_mail/
Exception Value: 'utf8' codec can't decode byte 0xd3 in position 187: invalid continuation byte
2014-04-21 17:40:40 +04:00
Michal Adamczyk
8aef745832
fix migration 0014, set no_dry_run=True
2013-11-25 21:13:32 +01:00
Adam Coddington
02b63b4001
Merged in medsafe/django-mailbox/ashvetsov/fixes-to-push (pull request #1 )
...
Thanks @medsafe!
Fixes for signal exception handling and inability to get IMAP inbox
2013-09-07 13:05:25 -07:00
Adam Coddington
a6b4d3729a
Removing 'body' from admin message display.
2013-08-04 19:57:28 -07:00
Adam Coddington
1bd781832a
Removing leftover logger.
2013-07-26 22:16:44 -07:00
Adam Coddington
88d122c421
Base64-encode message body when storing in DB.
...
* Since Django requires that the content stored in a TextField be unicode, we
need some way to encode the message safely. In situations before where
a single-byte non-7-bit-clean encoding were used, django-mailbox could
explode when writing the message copy to the database; this should ameliorate
that problem.
* Reverts earlier changesets' encoding normalization.
2013-07-26 22:13:29 -07:00
Adam Coddington
4c3af900c6
Remove unicode literals from tests for Python3.
2013-07-26 19:18:57 -07:00
Adam Coddington
adb17e7d67
Adding tests and minor code changes to ensure that we properly handle the distinction between bytes and text when dehydrating/rehydrating messages.
2013-07-26 19:13:35 -07:00
Adam Coddington
3ee4b43936
Cleaning up tests; moving test e-mail messages; fixing bugs relating to message encoding rehydration.
...
--HG--
rename : django_mailbox/tests/generic_message.eml => django_mailbox/tests/messages/generic_message.eml
rename : django_mailbox/tests/message_with_attachment.eml => django_mailbox/tests/messages/message_with_attachment.eml
rename : django_mailbox/tests/message_with_defective_attachment_association.eml => django_mailbox/tests/messages/message_with_defective_attachment_association.eml
rename : django_mailbox/tests/message_with_defective_attachment_association_result.eml => django_mailbox/tests/messages/message_with_defective_attachment_association_result.eml
rename : django_mailbox/tests/message_with_image_jpg_mimetype.eml => django_mailbox/tests/messages/message_with_image_jpg_mimetype.eml
rename : django_mailbox/tests/message_with_long_text_lines.eml => django_mailbox/tests/messages/message_with_long_text_lines.eml
rename : django_mailbox/tests/message_with_many_multiparts.eml => django_mailbox/tests/messages/message_with_many_multiparts.eml
rename : django_mailbox/tests/message_with_many_multiparts_stripped_html.eml => django_mailbox/tests/messages/message_with_many_multiparts_stripped_html.eml
rename : django_mailbox/tests/message_with_utf8_char.eml => django_mailbox/tests/messages/message_with_utf8_char.eml
rename : django_mailbox/tests/multipart_text.eml => django_mailbox/tests/messages/multipart_text.eml
2013-07-26 18:07:31 -07:00
Adam Coddington
98745bcd70
Set email payload's charset after all other headers.
2013-07-26 17:40:44 -07:00
Adam Coddington
2e6c23a6f0
Revamping encoding handling to normalize encodings to UTF-8 for storage; back into original encoding during rehydration.
2013-07-26 01:01:07 -07:00
Adam Coddington
f92e2a8448
Reorganizing tests.
2013-07-25 23:45:39 -07:00
Adam Coddington
b54855c3a2
Moving e-mail examples alongside other e-mail messages.
2013-08-03 18:00:53 -07:00
Travis
1fa21c87dc
Added testcases for bugfixes
2013-08-03 17:00:32 -05:00
Oliver
d294b26729
Bugfixes: Attachment extension; UTF16 characters in body
2013-08-03 10:53:38 -05:00
Adam Coddington
f48abb0d14
Adding missing import.
2013-07-26 20:18:49 -07:00
Adam Coddington
0f3cb09f94
Minor PR cleanup and reorganization.
2013-07-26 20:15:39 -07:00
Adam Coddington
9954b74eae
Merging in changes from buriy:master (pr #5 )
2013-07-25 18:45:22 -07:00
Yuri Baburov
d06c64a487
Added subject decode
2013-07-25 17:56:05 +00:00
Yuri Baburov
ac0f2153c0
Applied cleaned up fixes from Anders.Du (duyu)
2013-07-25 18:47:49 +01:00
Yuri Baburov
6697e848c8
Support for Django 1.4 with python 2.5, copied from
...
https://github.com/jhmaddox/django-precompressed/issues/1
("AttributeError: StringIO instance has no attribute 'name'")
2013-07-25 18:24:33 +01:00
Adam Coddington
384de32d85
Encode email message body into UTF-8 always when on Python 2; although I originally thought that this was a Python 2.6 thing, it looks like it might be some combination of platform/version, but bytes should always be fine.
2013-07-25 00:14:24 -07:00
Yuri Baburov
32968aa678
Support for Django 1.4 with python 2.5, copied from
...
https://github.com/jhmaddox/django-precompressed/issues/1
("AttributeError: StringIO instance has no attribute 'name'")
2013-07-22 18:16:28 +01:00
Anders.Du
491b489867
Fix the IndentationError in last commit.
2013-07-21 17:31:44 +08:00
Anders.Du
eca0b2caa4
* Add decoding for some encoded messages parts, i.e.
...
attachments' name, message header, etc.
* Remove overriding for MessageAttachment's __getitem__
method, so we can call the members directly in django
templates.
Signed-off-by: Anders.Du <ander.dy@gmail.com>
2013-07-19 23:39:41 +08:00
Adam Coddington
4e83ae8eb3
Updating documentation.
2013-06-24 00:20:08 -07:00
Adam Coddington
198b994be8
Removing print statement.
2013-06-23 20:52:50 -07:00
Adam Coddington
78c9fc1987
Fixing header comparison.
2013-06-23 20:36:05 -07:00
Adam Coddington
5f289289ce
Major refactor of message attachment handling; no longer stores verbatim
...
message copy in database.
Bumping version number to 2.1
* Walks through incoming message, write attachments to disk as they are found,
and alters message body removing actual attachment body, and adding
header 'X-Django-Mailbox-Interpolate-Attachment' referencing the ID of the
stored attachment.
* When calling ``get_email_object``, will walk through stored message, and
're-hydrate' the message by finding said headers, searching for the
appropriate record in the MessageAttachments table, and rebuild the message
object as closely as possible.
Minor fixes:
* Properly collect text/plain content from any part of the message; previously
would only check the message's first level of payloads, now walks through
all payloads, building a string of all text/plain content.
* Remove use of deprecated `assertEquals` message.
2013-06-23 20:27:50 -07:00
Adam Coddington
548cc66c52
Incorporating changes from @mancio's fork.
2013-06-22 17:44:55 -07:00
Adam Coddington
364a3061c2
Adding Python3 support.
2013-06-22 15:42:50 -07:00
Adam Coddington
3ea8689ec0
Encode message body to bytes prior to reconstituting e-mail message object. Added additional test to ensure that messages can make it the full cycle.
2013-06-22 15:06:53 -07:00
Adam Coddington
9cdb2d9d1b
PEP-8 Cleanup.
2013-06-22 14:35:47 -07:00
Adam Coddington
9f77c9221a
Removing unintended print message :-o
2013-06-22 14:28:00 -07:00
Adam Coddington
156b6fb418
Hide original body from email message display in admin; bumping version number.
2013-06-11 22:32:13 -07:00
Adam Coddington
4b70cf6f21
Fixing bad migration; keeping migration for rebuilding associations as a management command.
2013-06-11 22:23:27 -07:00
Adam Coddington
98bec1f682
Do not remove M2M tables.
2013-06-11 22:04:05 -07:00
Adam Coddington
7d1153a8eb
Use a predictable ordering.
2013-06-11 22:00:39 -07:00
Adam Coddington
32e4eb10fb
Adding migration to clean up any potentially misplaced attachments.
2013-06-11 21:59:54 -07:00
Adam Coddington
79a1799da3
Updating admin to include new inlines for messages.
2013-06-06 01:21:04 -07:00
Adam Coddington
cd77dd1c93
Merging in upstream changes.
2013-06-06 01:11:04 -07:00
Adam Coddington
46960440d5
Typo.
2013-06-06 01:10:12 -07:00
Adam Coddington
af2f37a247
Remove M2M relationship between MessageAttachment and Message.
2013-06-06 01:03:16 -07:00
Adam Coddington
8a34ac211c
Properly handle RFC2822 line continuations; resolves #4 .
2013-06-05 12:43:28 -07:00
ashvetsov
60718f5ea8
Fixed issue that made it possible for signal receiver to break getmail.
...
--HG--
branch : ashvetsov/fixes-to-push
extra : source : a76f8a4e1cf9c469710eb30d093be749965ee213
2013-04-11 15:56:22 +04:00
ashvetsov
8ab0f708c5
Fixed issue with exception when IMAP transport returned no messages.
...
--HG--
branch : ashvetsov/fixes-to-push
extra : source : b9b283ff46d734933c4a715630e114d5e250a34b
2013-04-11 15:48:49 +04:00
Adam Coddington
2a90953283
Adding new settings allowing one to specify a list of mimetypes that are permitted to be stored in the message body of the e-mail message model.
2013-03-11 21:00:53 -07:00