- Issue created by @Bzr
- π§πͺBelgium dieterholvoet Brussels
Both the
subaccounts/list.json
andusers/ping.json
endpoints are only triggered when visiting the module settings form, so those are probably unrelated. Some things to check:- Is the following error appearing in your logs? If so, this issue can be closed as a duplicate. π Error: Call to undefined method Drupal\Core\ProxyClass\File\MimeType\MimeTypeGuesser::guess() in Drupal\mailchimp_transactional\Plugi n\Mail\Mail->getAttachmentStruct() (line 280 of modules/contrib/mailchimp_transactional/src/Plugin/Mail/Mail.php Fixed
- If not, are you using templates through the
mailchimp_transactional_template
submodule? - Any chance your mails are being queued? Can you check the
queue
database table to make sure no items withname = mailchimp_transactional_queue
are present?
- Status changed to Postponed: needs info
about 1 year ago 2:57pm 13 November 2023 Thanks for the reply, DieterHolvoet!
As far as I've seen, no error shows up in the logs on either side. The only logged notice on the Drupal side I've found is just one that says an email send request was initiated. Seems pretty normal there.
The templates module is not activated on the site, so no templates should be in use. This is a site I relatively recently inherited dev responsibilities on, so I don't know the deep ins-and-outs, but that doesn't seem to be a factor in the sending problem.
I can certainly check the database table you mentioned. The tricky point is, this all has to be tested on the live site, which causes total email pause. There shouldn't be anything queued at this point, since reverting the module allowed the emails to send again. If there was anything queue-related in the database, I'm guessing it's gone now. That said, I will have to run another test soon to finish the Drupal 10 update. If I do see the mailchimp_transactional_queue item in the database, what does that imply is happening and what might be a solution?
Hey DieterHolvoet,
Coming back with some more information. I had the chance to run some additional tests, and the issue does seem to be around the queueing. When the "Queue outgoing messages" toggle is off, emails send through Mandrill with no problem. When I turn queueing on, emails stop sending. The "Queue" database table remains empty after attempted sends and cron runs. The information is just not being passed to the database, it seems. I don't get any errors during this process. I tried this with standard password reset requests to make sure nothing custom was standing in the way.
The site I'm working on is fairly email intensive. It currently sends out a 700+ user email blast on Wednesday nights, and I know the owners are actively looking to increase there userbase. The resources involved in sending all these emails at once could cause timeouts, errors, inaccessibility, etc.
I looked through the threads and patch notes from version 1.1.0 onward, but nothing stood out to me as a cause of this issue. The queuing mechanism does work on version 1.0.1.
Any insights
- π§πͺBelgium dieterholvoet Brussels
Could this maybe be related to π Drupal cron is not executing mailchimp_transactional_queue Fixed ? That issue was fixed in 1.1.2, have you tried updating?
Yes, all my latests tests were all done on version 1.1.2. That issue definitely sounds like the same issue, but not sure why the the fix from that MR hasn't helped in my case.
I haven't tried this on the live set yet with actual sending yet, but when I have my test environments upgraded to Drupal 10 the queueing does work. Strongly suspecting it's just a matter of what calls work in what environment. Seems like this won't actually be an issue once the live site is fully upgraded. I'll post an update if I find otherwise.
Thanks for you help!
- π§πͺBelgium dieterholvoet Brussels
is trying to use the most recent version on a Drupal 9 site a problem
It shouldn't be, if there's a problem we should find it.
Are the methods to initiate queueing in D9 and D10 different?
No, they aren't. Basically all we're doing is this, and this API didn't change:
$queue = \Drupal::queue(MailchimpTransactionalInterface::MAILCHIMP_TRANSACTIONAL_QUEUE, TRUE); $queue->createItem($mailchimp_transactional_params);
Between 1.0.1 and 1.1.0 we fixed the Queue worker timeout setting. Can you check the value of that setting in your site?
Maybe try to enable the Log queued emails setting and try to send an email. Is anything logged? Sorry for the delay. I thought this was fixed, so I didn't check back. I'm now seeing the emails still aren't sending while queueing is enabled, even after I completed the upgrade. This is strange since I did see the queuing work on a dev version of the Drupal 10 site, but not on live.
The queue timer is currently set to 30.
As for logging, I will have to get back to you on that. I am going to disable queueing on the live site for right now to hopefully allow my weekly newsletter to send again. I will have to run some tests this coming Friday, after the newsletter has sent, when I have more wiggle room to create tests.