In my opinion this is a bug the maintainers of MailSystem need to look at, but pillarsdotnet suggested I post the issue here as well, in case someone could take a look at it.
Basically, installing MailSystem causes Print not to be able to process it's Send by email messages through Drupal's built-in mailing procedure, and the resulting emails are devoid of any formatting whatsoever, and the links to the site they're being sent from are gone, replaced by a number tag. And MailSystems alleged ability to determine which MailSystemInterface should be used for which module, doesn't change the problem. Any help on this would be greatly appreciated, as MailSystem is a prerequisite for HTML Mail, Mail Mime, and Echo. So the chain is broken by the very first link, in this case.
Here's what I posted as an issue to MailSystem (#1312266: Any compatibility with Print module?):
I only listed this as a support request because it may just be that I haven't found out why the Print module wasn't working with Mail System properly, although it could indeed be a bug.
I was in the middle of getting HTML Mail set up, when I realized our Send-by-email function of the Print module (Print_Mail function) wasn't sending emails properly, i.e. to be precise, no links were being sent out to the node people would send to their friends!!
I back-tracked and found the Print "Send-by-Email" function to work again upon disabling the Mail System module.
Now, I went for the drastic option of disabling Mail System simply because it was the fastest way to get the Send-by-Email function to work again. But I had tried to define a key and class for the Print module in Mail System config. This produced no change.
Am I missing something here? Shouldn't the DefaultMailSystem, once specified for the module key in config, allow the Print module to send out it's e-mails in the fashion it did before Mail System was installed?
In any case, my friend took a look at messages sent by Print, when Mail System is enabled, and disabled:
The print version is definitely doing it what it's saying it does, and it really looks like it's getting passed to the mail system fine. But then it looks like somehow in the mail system, it's dying a painful death.
The fact that the default mail handler isn't even kicking in says something though.
Therefore I'm reposting this issue as a major bug report, as Print is a widely used module. Unfortunately I can't personally hack this module; I hope someone knows how to make a patch for this!!
Comments
Comment #0.0
jcnventuraAdding the MailSystem issue link
Comment #1
jcnventuraAfter adapting the 7.x-1.0 branch to work with Mail System, I came back to this to see if it would be as simply as what I did there (basically enabling the default mail system).
Turns out it wasn't, and clearly if that worked in the 7.x branch of Mail System, it should also work in the 6.x, without requiring many changes by the print_mail module.
I'll close this as a duplicate of #1312266: Any compatibility with Print module?.
Comment #2
jcnventuraSpoke too soon..
While writing on the other issue, I found the problem was exactly in a check_plain that the 7.x branch does.. I've now fixed this in dev.
Comment #4
kpolymorphic commentedThere is a way to handle this in mail system configuration. If you add a new setting for print module (not print_mail module due to the call inside print mail to drupal_mail being keyed as "print_mail"; mail system assumes that your drupal_mail calls are keyed with [module name]_[key name]) with a key of "mail", you can select DefaultMailSystem to be used for print mail.
Comment #4.0
kpolymorphic commentedEnding blockquote in the right place