Bug 448530

Summary: Mailman @opensuse 11.1 doesn't send mail
Product: [openSUSE] openSUSE 11.1 Reporter: Diego Ercolani <diego.ercolani>
Component: InstallationAssignee: Heiko Rommel <heiko.rommel>
Status: RESOLVED FIXED QA Contact: Jiri Srain <jsrain>
Severity: Critical    
Priority: P2 - High CC: dmueller, forgotten_abccHJSkz0, ge, gp, lmuelle, mge
Version: FactoryFlags: coolo: SHIP_STOPPER-
Target Milestone: ---   
Hardware: All   
OS: SUSE Other   
Whiteboard:
Found By: Community User Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Diego Ercolani 2008-11-25 09:09:24 UTC
mailman-2.1.11-7.5
python-base-2.6.0-2.8

To dispatch mail to the mailinglist, Mailman uses a python library that is called:
email

under opensuse 11.1 it is installed in /usr/lib/python2.6/email

using the system wide library, during sending process mailman fails and put the mail in the shunt directory (/var/lib/mailman/qfiles/shunt/).

In mailman's log (/var/lib/mailman/logs/error) you can find this line:
AttributeError: Message instance has no attribute 'get_type'

If you make a little search in internet you'll find some mailing list archive:
http://mail.python.org/pipermail/mailman-users/2008-March/060822.html

Developers suggest to use the email-package included in mailman source (mailman-2.1.11/misc/email-2.5.8.tar.gz) and put it in /usr/lib/mailman/pythonlib/

This is what I did but work isn't finished as also names of the email package packaged with mailman and the email-2.5.8 aren't compatible. In fact:

e-mail 2.5.8 file list:
base64MIME.py  Errors.py     Message.py      MIMEMultipart.py     quopriMIME.py
Charset.py     Generator.py  MIMEAudio.py    MIMENonMultipart.py  Utils.py
_compat21.py   Header.py     MIMEBase.py     MIMEText.py
_compat22.py   __init__.py   MIMEImage.py    _parseaddr.py
Encoders.py    Iterators.py  MIMEMessage.py  Parser.py

e-mail included in python "rpm -ql python-base-2.6.0-2.8 | grep email" :
/usr/lib/python2.6/email
/usr/lib/python2.6/email/__init__.py
/usr/lib/python2.6/email/__init__.pyc
/usr/lib/python2.6/email/__init__.pyo
/usr/lib/python2.6/email/_parseaddr.py
/usr/lib/python2.6/email/_parseaddr.pyc
/usr/lib/python2.6/email/_parseaddr.pyo
/usr/lib/python2.6/email/base64mime.py
/usr/lib/python2.6/email/base64mime.pyc
/usr/lib/python2.6/email/base64mime.pyo
/usr/lib/python2.6/email/charset.py
/usr/lib/python2.6/email/charset.pyc
/usr/lib/python2.6/email/charset.pyo
/usr/lib/python2.6/email/encoders.py
/usr/lib/python2.6/email/encoders.pyc
/usr/lib/python2.6/email/encoders.pyo
/usr/lib/python2.6/email/errors.py
/usr/lib/python2.6/email/errors.pyc
/usr/lib/python2.6/email/errors.pyo
/usr/lib/python2.6/email/feedparser.py
/usr/lib/python2.6/email/feedparser.pyc
/usr/lib/python2.6/email/feedparser.pyo
/usr/lib/python2.6/email/generator.py
/usr/lib/python2.6/email/generator.pyc
/usr/lib/python2.6/email/generator.pyo
/usr/lib/python2.6/email/header.py
/usr/lib/python2.6/email/header.pyc
/usr/lib/python2.6/email/header.pyo
/usr/lib/python2.6/email/iterators.py
/usr/lib/python2.6/email/iterators.pyc
/usr/lib/python2.6/email/iterators.pyo
/usr/lib/python2.6/email/message.py
/usr/lib/python2.6/email/message.pyc
/usr/lib/python2.6/email/message.pyo
/usr/lib/python2.6/email/mime
/usr/lib/python2.6/email/mime/__init__.py
/usr/lib/python2.6/email/mime/__init__.pyc
/usr/lib/python2.6/email/mime/__init__.pyo
/usr/lib/python2.6/email/mime/application.py
/usr/lib/python2.6/email/mime/application.pyc
/usr/lib/python2.6/email/mime/application.pyo
/usr/lib/python2.6/email/mime/audio.py
/usr/lib/python2.6/email/mime/audio.pyc
/usr/lib/python2.6/email/mime/audio.pyo
/usr/lib/python2.6/email/mime/base.py
/usr/lib/python2.6/email/mime/base.pyc
/usr/lib/python2.6/email/mime/base.pyo
/usr/lib/python2.6/email/mime/image.py
/usr/lib/python2.6/email/mime/image.pyc
/usr/lib/python2.6/email/mime/image.pyo
/usr/lib/python2.6/email/mime/message.py
/usr/lib/python2.6/email/mime/message.pyc
/usr/lib/python2.6/email/mime/message.pyo
/usr/lib/python2.6/email/mime/multipart.py
/usr/lib/python2.6/email/mime/multipart.pyc
/usr/lib/python2.6/email/mime/multipart.pyo
/usr/lib/python2.6/email/mime/nonmultipart.py
/usr/lib/python2.6/email/mime/nonmultipart.pyc
/usr/lib/python2.6/email/mime/nonmultipart.pyo
/usr/lib/python2.6/email/mime/text.py
/usr/lib/python2.6/email/mime/text.pyc
/usr/lib/python2.6/email/mime/text.pyo
/usr/lib/python2.6/email/parser.py
/usr/lib/python2.6/email/parser.pyc
/usr/lib/python2.6/email/parser.pyo
/usr/lib/python2.6/email/quoprimime.py
/usr/lib/python2.6/email/quoprimime.pyc
/usr/lib/python2.6/email/quoprimime.pyo
/usr/lib/python2.6/email/test
/usr/lib/python2.6/email/test/__init__.py
/usr/lib/python2.6/email/test/__init__.pyc
/usr/lib/python2.6/email/test/__init__.pyo
/usr/lib/python2.6/email/test/data
/usr/lib/python2.6/email/test/data/PyBanner048.gif
/usr/lib/python2.6/email/test/data/audiotest.au
/usr/lib/python2.6/email/test/data/msg_01.txt
/usr/lib/python2.6/email/test/data/msg_02.txt
/usr/lib/python2.6/email/test/data/msg_03.txt
/usr/lib/python2.6/email/test/data/msg_04.txt
/usr/lib/python2.6/email/test/data/msg_05.txt
/usr/lib/python2.6/email/test/data/msg_06.txt
/usr/lib/python2.6/email/test/data/msg_07.txt
/usr/lib/python2.6/email/test/data/msg_08.txt
/usr/lib/python2.6/email/test/data/msg_09.txt
/usr/lib/python2.6/email/test/data/msg_10.txt
/usr/lib/python2.6/email/test/data/msg_11.txt
/usr/lib/python2.6/email/test/data/msg_12.txt
/usr/lib/python2.6/email/test/data/msg_12a.txt
/usr/lib/python2.6/email/test/data/msg_13.txt
/usr/lib/python2.6/email/test/data/msg_14.txt
/usr/lib/python2.6/email/test/data/msg_15.txt
/usr/lib/python2.6/email/test/data/msg_16.txt
/usr/lib/python2.6/email/test/data/msg_17.txt
/usr/lib/python2.6/email/test/data/msg_18.txt
/usr/lib/python2.6/email/test/data/msg_19.txt
/usr/lib/python2.6/email/test/data/msg_20.txt
/usr/lib/python2.6/email/test/data/msg_21.txt
/usr/lib/python2.6/email/test/data/msg_22.txt
/usr/lib/python2.6/email/test/data/msg_23.txt
/usr/lib/python2.6/email/test/data/msg_24.txt
/usr/lib/python2.6/email/test/data/msg_25.txt
/usr/lib/python2.6/email/test/data/msg_26.txt
/usr/lib/python2.6/email/test/data/msg_27.txt
/usr/lib/python2.6/email/test/data/msg_28.txt
/usr/lib/python2.6/email/test/data/msg_29.txt
/usr/lib/python2.6/email/test/data/msg_30.txt
/usr/lib/python2.6/email/test/data/msg_31.txt
/usr/lib/python2.6/email/test/data/msg_32.txt
/usr/lib/python2.6/email/test/data/msg_33.txt
/usr/lib/python2.6/email/test/data/msg_34.txt
/usr/lib/python2.6/email/test/data/msg_35.txt
/usr/lib/python2.6/email/test/data/msg_36.txt
/usr/lib/python2.6/email/test/data/msg_37.txt
/usr/lib/python2.6/email/test/data/msg_38.txt
/usr/lib/python2.6/email/test/data/msg_39.txt
/usr/lib/python2.6/email/test/data/msg_40.txt
/usr/lib/python2.6/email/test/data/msg_41.txt
/usr/lib/python2.6/email/test/data/msg_42.txt
/usr/lib/python2.6/email/test/data/msg_43.txt
/usr/lib/python2.6/email/test/data/msg_44.txt
/usr/lib/python2.6/email/test/test_email.py
/usr/lib/python2.6/email/test/test_email.pyc
/usr/lib/python2.6/email/test/test_email.pyo
/usr/lib/python2.6/email/test/test_email_codecs.py
/usr/lib/python2.6/email/test/test_email_codecs.pyc
/usr/lib/python2.6/email/test/test_email_codecs.pyo
/usr/lib/python2.6/email/test/test_email_codecs_renamed.py
/usr/lib/python2.6/email/test/test_email_codecs_renamed.pyc
/usr/lib/python2.6/email/test/test_email_codecs_renamed.pyo
/usr/lib/python2.6/email/test/test_email_renamed.py
/usr/lib/python2.6/email/test/test_email_renamed.pyc
/usr/lib/python2.6/email/test/test_email_renamed.pyo
/usr/lib/python2.6/email/test/test_email_torture.py
/usr/lib/python2.6/email/test/test_email_torture.pyc
/usr/lib/python2.6/email/test/test_email_torture.pyo
/usr/lib/python2.6/email/utils.py
/usr/lib/python2.6/email/utils.pyc
/usr/lib/python2.6/email/utils.pyo

My workaround was to make a link to filenames of the email-2.5.8 package of the same names but in lo-case. Obviously this is a dirty workaround... but it just works ;-)

So, I thing developer shou choose between two road:

1. patch mailman to enable using of python-2.6 email package
2. include in mailman distribution the email-2.5.8 package patched to enable the correct case in filenames.

Hope this help.

Diego
Comment 1 Stephan Kulow 2008-11-25 20:48:35 UTC
that doesn't sound good. But I think a bit outside of openSUSE's scope, so an update should be sufficient
Comment 2 Heiko Rommel 2008-11-30 16:41:29 UTC
My previous 'fix' of removing Mailman's own version of email was a bit crude and broke Mailman in several places. 

I replaced the bad fix with the upstream fix to 'configure' by Barry Warshaw.
(see http://bazaar.launchpad.net/~barry/mailman/py26/changes)

Fixed in STABLE. 
Comment 3 Heiko Rommel 2008-12-02 10:28:10 UTC
The fix will make it to the next candidate for 11.1 and SLE11.
Comment 4 Lars Müller 2009-01-03 22:51:09 UTC
Reopen as the same issue might be in mailman-2.1.11-8.3 as available with openSUSE 11.1.
Comment 5 Lars Müller 2009-01-03 22:51:18 UTC
*** Bug 462370 has been marked as a duplicate of this bug. ***
Comment 6 Dirk Mueller 2009-01-05 14:52:43 UTC
this one is fixed, the change is in 11.1. it has a new regression though (bug 462370)