Details
Description
migrated a working 2.0.3 installation -> 2.1.x -> 2.2b2, per upgrade instructions
late last night:
created large mailing (~300 recips, ~7 existing Groups)
created new email content template [both plaintext and HTML];
saved the email template for later re-use;
used the Test Mailing feature
[twice: with direct entry of a single email address in the input field; once: with a 2-person Test-Group];
successfully received all 4 of these outbound emails;
satisfied, I triggered the full mailing for immediate delivery, vs. scheduled delivery
the job was displayed as having a Schedule time
the time passed; the job did not clear;
it became evident no-one received email;
today, after checking the civimail.log file, I found many entries like this:
-18:20:01- http://moveon-pdx.org/sites/all/modules/civicrm/bin/civimail.cronjob.php?name=civicrm&pass=<XXXXXXXXX>
Resolving moveon-pdx.org... 74.86.87.177
Connecting to moveon-pdx.org|74.86.87.177|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: `STDOUT'
ERROR: You need to send a valid key to execute this file. More info at:http://wiki.civicrm.org/confluence/display/CRMUPCOMING/Command-line+Script+Configuration
0K 20.1M=0s
so I added a new key to the civicrm.settings.php file and the imap2soap cron invocation on our hosting control panel
using the new key, I then ran the diagnostic at:
http://wiki.civicrm.org/confluence/display/CRMUPCOMING/CiviMail+Processor
and got this error:
Fatal error: Uncaught exception 'Exception' with message 'Unknown protocol ' in /home/mopdx/public_html/sites/all/modules/civicrm/CRM/Mailing/MailStore.php:78 Stack trace: #0 /home/mopdx/public_html/sites/all/modules/civicrm/bin/CiviMailProcessor.php(60): CRM_Mailing_MailStore::getStore(NULL) #1 /home/mopdx/public_html/sites/all/modules/civicrm/bin/CiviMailProcessor.php(165): CiviMailProcessor::process(NULL) #2
{main}thrown in /home/mopdx/public_html/sites/all/modules/civicrm/CRM/Mailing/MailStore.php on line 78
my lay speculation: could this issue perhaps related to #CRM-4026 and/or #CRM-3506? I looked at the code in MailStore.php, and confirmed that the protocol selector's case statement is switching on the strings 'IMAP', 'POP3' etc.
hunted through the db for the protocol settings, to see if they were in string form, or were still in numeric format;
found a "suspicious" entry in the newly-relocated civicrm_preferences.mailing_backend:
a:9:
{s:5:"qfKey";s:32:"ca0d0cb80d054d7e8772c7477697ceb9";s:15:"outBound_option";s:1:"0";s:13:"sendmail_path";s:0:"";s:13:"sendmail_args";s:0:"";s:10:"smtpServer";s:9:"localhost";s:8:"smtpPort";s:2:"25";s:8:"smtpAuth";s:1:"1";s:12:"smtpUsername";s:22:"civicrm@moveon-pdx.org";s:12:"smtpPassword";s:10:"A2DBNGj3YX";}thinking that the outBound_option item might be the same "protocol" setting, I experimentally changed the field to
a:9:
{s:5:"qfKey";s:32:"ca0d0cb80d054d7e8772c7477697ceb9";s:15:"outBound_option";s:4:"IMAP";s:13:"sendmail_path";s:0:"";s:13:"sendmail_args";s:0:"";s:10:"smtpServer";s:9:"localhost";s:8:"smtpPort";s:2:"25";s:8:"smtpAuth";s:1:"1";s:12:"smtpUsername";s:22:"civicrm@moveon-pdx.org";s:12:"smtpPassword";s:10:"A2DBNGj3YX";}and retested;
got the same behavior as in the first attempt:
the mailing is listed in "Scheduled and Sent Mailings" as "Scheduled", with an immediate delivery time in the server's timebase, even though I left the scheduling popup menus in their default (non-specified) state, and instead set the "Send Immediately" checkbox.
and the mailing has not been delivered.