When my users try to change their digest settings, I get a message bounced back to me that looks like this:
==============
The results of your email command are provided below. Attached is your
original message.
- Results:
You are not a member of the Site-News mailing list
Not authenticated
Usage:
[usage info here]
==============
The message sent looks like this:
==============
set authenticate address=something@something.com
set delivery on
set digest plain
==============
This may be a dumb question, but how does the software expect to be able to change a user's settings without a password or anything like that? Also, does the address that sends these requests need to be a member? I don't know Mailman well enough to know how this should work... Thanks.
| Comment | File | Size | Author |
|---|---|---|---|
| #2 | mailman_users.png | 117.91 KB | korvus |
Comments
Comment #1
arturoramos commentedThe user for whom the command is being sent obviously has no password set for them in the Mailman Manager module.
Did that user subscribe to the list using the Drupal Mailman Manager module? If not, there is no way the module can control her subscription as it has no record of what the user's password is. The password would normally appear in the message after the word "authenticate" and since nothing is appearing, the password appears to be blank for this user in your database.
Can you look up the user's subscriptions in the mailman_users table and see what it is set to there?
Comment #2
korvus commentedHere's an obfuscated screenshot from PHPMyAdmin. The user in question is the checked record (the orange highlighting). You'll see that only two users have passwords set. I could be wrong, but I believe most of my users are signing up for the mailing list when they create their accounts (this is a new site and there really weren't any accounts created before I installed mailman_manager).
Any idea why passwords aren't getting set when users get added to the list at the time they create a drupal account?
I also have user_mailman_register installed, though I'll be honest and say I don't know what functionality goes with what module as I installed them both at the same time...
Comment #3
samuelet commentedDoes "when they create their accounts" mean in the new user registration form?
This feature is from user mailman register, that unfortunately does not store the randomly user created password when a user is subscribed for the first time.
In this case, this issue can be considered as a user mailman register bug and i should look for a solution.
Comment #4
korvus commentedYes, they sign up at user/register.
Looks like I'm currently one version behind, so I'll update that in the morning to make sure the problem still exists.
Skimming the code, it looks like maybe in _user_mailman_register_subscribe_update(), maybe before doing the
"UPDATE {mailman_users} SET lmail = '%s', lstatus = %d WHERE uid = %d AND lid = %d"SQL query, you checked to see if a password was set in {mailman_users} and, if not, set one via the mailman web interface and include it in that update statement? This is based on a quick look, so I could be totally off here.I'm switching it to a bug under User mailman register, as you suggested. Thanks.
Comment #5
samuelet commentedI'm sorry to say that this issue is not solvable, at least in a clean way.
Creating mailman subscriprions with the http method (used by User Mailman Register (UMR) ), does not allow nor to choose the user password nor to know what password was randomly assigned by mailman.
At this point you have few chances:
1) Use only the UMR subscription form, denying the "access to mailman manager" for you users and allowing "Access to UMR" and "can subscribe to ..."
2)Unsubscribe all your users with UMR, and let them resubscribe with Mailman Manager.
3)Use the dumpdb mailman command (from shell) to retrive user password and set them in the drupal mailman_users table.
What i'm going to do is to create a mailman manager patch that prevents the users subscribed with UMR to change their subscriptions within Mailman manager form (checking for empty password should be sufficient).
Then, i'd like to implement a way to manually import a mailman dumpdb file into drupal in order to syncronize users password (eventually the current subscription status, too).
Any thoughts or suggestions is well accepted.
Comment #6
samuelet commentedI wish also to point out that this issue affects only users initially subscribed with UMR, and not viceversa.
So, even if it does not make sense anymore, you still can switch between UMR and mailman manager when user was initially subscribed with the last one.
Comment #7
samuelet commentedComment #8
samuelet commentedI committed patches for both mailman manager and UMR that prevent the users initially subscribed with UMR to change their subscriptions with mailman manager form.
In this case, form will display only the current subscription status and the send password mail radio buttons. To change their subscription, they have to use the UMR form.
If user subscribed initially with mailman manager, he is still able to change his subscription indifferently with any of two modules.
Comment #9
korvus commentedThat sounds like a step in the right direction. Thanks for taking this on.
Comment #10
scottrigbyI just installed the latest dev snapshots from both modules, and I still have the problem of not being able to successfully change subscription options to 'digest' or 'nomail'.
Subscribing and unsubscribing seem to work fine - which is great! But it would be good to allow the digest and nomail options... this is actuallly the reason i'm using the User Mailman Register module.
Have you been able to get these options to work with the latest code?
Thx :)
Scott
Comment #11
samuelet commentedscottrigby, i need more details about the problem. What's the error message? Do you change subscription in the mailman manager form (the "Mailing Lists" category in the user edit profile) or in the UMR form (the " Mailing Lists register" category) ?.
For what i know, you should not have problems to change user subscriptions type using the UMR form if lists and permissions are correctly enabled and configured in "admin/settings/user_mailman_register" and "admin/user/permissions#module-user_mailman_register".
For example check that "Allow digest" and "Allow temporary disable" are enabled.
This issue is related to users that change their subscriptions using the mailman manager form instead of the UMR one, so if it's not your case, please, open a new issue reporting details there.
About the reason you're using the User Mailman Register module, also Mailman manager allows users to subscribe the digest and nomail options, the two modules differs in other features.
Comment #12
samuelet commentedAn experimental UMR submodule to import and syncronize user subscriptions (status and passwords) from a mailman dumpdb file is ready to test (tonight it will be incorporated in the development snapshots). After enabling it, you'll can find the import tab and using info inside the UMR admin page.
To create the dump file to import, you need a shell access with mailman or greater user permission to your Mailman server.
Before import, MAKE A BACKUP of the mailman_users table (also a backup of the whole drupal database is recommended).
Any feedback will be useful to improve it.
Comment #13
scottrigbyhi samuelet. Re #11:
Digest subscription to Discussion List (test) list completed successfully for <bob@example.com>. But when I look in Mailman's admin interface (under Membership management > Membership list), the digest checkbox is not selected for that user - in fact this operation clears all checkbox options for the user.Comment #14
samuelet commentedIf users are able to subscribe and unsubscribe, then it's not certainly related.
Check that the "allow digest" option is enabled in the mailman web interface. I don't remeber its english name, but it's referred with the name "digestable" and it should be avaiable at:
http://{your_site}cgi-bin/mailman/admin/{YOUR_LIST}/?VARHELP=digest/digestable
If it's enabled, please open another issue with details reporting also your mailman software version.
The submodule imports user subscription status and passwords from your mailman server. It's useful to sync mailman manager and UMR modules with mailman server when, for some reason, users have changed their subscriptions externally to drupal (i.e: with mail or mailman web interface).
To test it, enable it, go in the Import tab in the UMR admin page and follow instructions.
Comment #15
samuelet commentedscottrigby, your issue is moved in #370262: No mail and Digest options not reflected in mailman
Comment #16
samuelet commentedI consider #8 and #12 a fix for this issue. If those patches don't work correctly, please open a new issue.