The subject line pretty much says it - I recently upgraded a multi-site installation to Drupal 6.13, and while I always do a bit of checking after an upgrade to make sure everything looks OK, I didn't think to check e-mail because I've never run into a problem with it before.

But tonight I was working on a test site and decided to try installing the Watcher module, and instead of sending an e-mail notification, it gave me the following error: "Unable to send e-mail. Please contact the site administrator if the problem persists."

I did some further checking, and no e-mail functionality is working at all, on that site or any other in the entire multi-site installation, regardless of whether they have Watcher or any other contributed modules enabled or not. E-mail is just broken straight across the board, on all the sites.

I checked the log and the entries it recorded are totally unhelpful: "Error sending e-mail (from address1 to address2)" (where address1 and address2 are whatever the e-mail addresses in question would normally be).

In searching the forums, I did find a lot of occurrences of that particular error, but no two of them seem to be coming from the same problem. One (who mentioned being on the same web host I use) recommended the returnpath module, so I hoped that might fix it, but I just tried installing that and it didn't help.

I have not changed hosts, changed e-mail addresses, or anything of the sort - the only recent change is the 6.13 upgrade. Everything was working fine prior to that, at least to the best of my knowledge.

Has anyone else run into this? Does anyone have any idea how I can fix it? It's a big, big problem, because that installation includes six live sites as well as a number of test sites. I really need to get it fixed ASAP!

ETA: I should probably include a little more technical info. The installation is on a shared host (Dreamhost to be precise, who I've never had any Drupal problems with before), on a Linux server, with PHP 5.2.9 and 5.0.32. I do have a custom php.ini file, but I've had that since well before this problem happened, and it's identical to my host's php.ini file except for a few small changes (max file upload and a couple of related things, for a video module). Other than that it's your basic shared hosting setup, and has worked fine, including e-mail, for quite a long time before this happened.

Comments

vm’s picture

if you were to install a fresh install, does emails work? or has your host done something to affect sendmail() ?

spidersilk’s picture

I just checked another Drupal 6.13 site which is on the same hosting account, but not part of the multi-site installation, and that one is *not* experiencing the problem. So it's got to be something specific to that installation, not to my host in general.

There is no difference in mail-related modules they have installed, so I'm starting to think it must be something to do with the custom php.ini file, which I have on the multi-site but not on the other domain. Maybe some change in 6.13 is not compatible with some setting in that file - but it's weird, because as I said, I only changed the few things required by the video module - max upload size, max execution time, etc. - to allow video files to be uploaded and processed. I didn't change anything related to mail configuration, so that should still be set to the same as my host's php.ini file, which the other site is using - but mail on the other site works!

I guess I need to try tinkering with the php.ini file...

spidersilk’s picture

Apparently it was the sendmail path setting.

The weird thing is, like I said, I never changed that. It was blank, which I suppose means it was supposed to default to some kind of generic setting, but apparently that wasn't working any more. So after poking around a bit here and in my web host's wiki, I set it as follows:

sendmail_path = /usr/sbin/sendmail -t -i

(that being the path to my host's sendmail, and the arguments that usually seemed to be recommended)

And ta-da, mail works now. So if anyone else is having similar problems, it's worth a try.

BTW, for those hosted on Dreamhost, if you want to be able to make changes to your php.ini file, instructions are here. I followed those and it worked -- well, up until the whole mail-breaking bit, anyway. :-) But that can be fixed with the above setting.