Publisher does not support the Fluid field type. Please do not contact asking when support will be available.

If you purchased an add-on from expressionengine.com, be sure to visit boldminded.com/claim to add the license to your account here on boldminded.com.

Ticket: Multiple Duplicate Notification Emails

Status Resolved
Add-on / Version Publisher Lite 2.8.2
Severity
EE Version 4.2.3

James Carter

Jun 19, 2018


Description:
Client receives multiple emails of the same notification whenever they make changes.

Detailed steps to reproduce the issue:
1. Client makes publishing request.
2. Client receives multiple of the same notification emails.

 

 

 

#1

BoldMinded (Brian)

Those aren’t steps to reproduce. What is the view status? What is the save status? Is it a request for approval? What is the contents of the email? E.g is it a approval request or a normal EE entry save notification? Does this happen to all users or just 1?

#2

BoldMinded (Brian)

What environment does this happen in? Have your tried other envrionments? What steps have you taken to debug it? Have you altered any settings to try to figure out the cause?

#3

BoldMinded (Brian)

James, sorry for all the questions, but I do need a little more to go on for this one. I haven’t seem similar reports, so it may just be a configuration issue, or a legit bug if the stars have aligned on several different criteria. The more information you can provide the quicker we can get to the bottom of the issue.

#4

Megan Miriello

It’s perfectly fine. I will get more information from the client and get back to you.

#5

Megan Miriello

Sorry for the delay, the client was on vacation. Everyone is receiving two notifications each time there is a request for approval. This is a live environment. I was able to replicate the issue with selecting myself in the Approval Email List. I tried deselecting everyone, clear the cache, then reselect the appropriate accounts with no success. Here is the duplicate email: Training Account (email) has submitted the entry “Test Page” for Publishing on 06/26/2018 02:00pm. Edit Entry View Entry.

The status is still in draft and it’s in the top of list for Pending Approvals.

#6

BoldMinded (Brian)

So you’re the only one in the approval list, and you’re the one saving the entry for approval? Or is someone else saving the entry?

#7

Megan Miriello

I’m using a publisher account to to save the entry and clicking the checkbox for “Send for Approval?” I’m not the only one on the approval list since this is a live site. For testing purposes, I have my Super Admin on the Approval email list to see if I receive duplicate emails, in which I do.

#8

BoldMinded (Brian)

James, I’m feeling like this is something with your settings because I just tested locally and it is only sending 1 approval email (from Publisher) and 1 entry updated email (native EE behavior) if EE is configured to do so. My Mailgun log shows only 1 of each sent. Are you positive you don’t have both setup with the same subject and body text? Or some other odd configuration? Have you tried setting up EE and Publisher in a new/clean environment (potentially on a different server) to see if you can replicate duplicate email sending?

Mailgun log:

https://screenshots.firefox.com/CIQy6iLEk9ci6Dlj/app.mailgun.com

#9

Megan Miriello

I’m searching through the backend and I’m still not finding the duplicated subject and body input inside any settings. Could you look through the backend for me? I feel like I’m missing something. I was going to upload credentials, however, the Edit Ticket button is missing for some reason.

#10

Megan Miriello

I have edited the ticket with the login information. Thanks!

#11

BoldMinded (Brian)

I just logged in, but its not an admin account. I can’t see EE’s native email/notification settings.

#12

BoldMinded (Brian)

And I can’t see Publisher’s settings either.

#13

Megan Miriello

Ok, just upgraded you to Super Admin. Let me know if that works for you.

#14

BoldMinded (Brian)

I didn’t see anything out of the ordinary. Looks like all the native channel entry notification settings are disabled. Have you tried to replicate this in a new/clean environment? Have you been able to check with the server email logs or whatever service you may be using to send emails to see if its getting 1 or 2 of the same requests to send an email?

#15

Megan Miriello

Ok, since the client hosts their own mail server, I’ll contact them asking them if they have it configured this way. I’ll get back as soon as I get an answer.

#16

Megan Miriello

The client could not find anything on their mail server. To recap my steps for testing:

  1. As an Super Admin: I only set myself to receive notifications in the Approval Settings.
  2. As a publisher: I create a page - create a title - set the status to publish - click Save and Exit. Using this method will not send a notification to my Super Admin email address. However, if I create a page - click on the checkbox, “Save for Approval” on the top left, beside “Save to Draft” - set the status to publish - click Save and Exit. This method will send two of same notification emails. Example: Training Account (email) has submitted the entry “Test 2” for Publishing on 07/05/2018 11:50am. Edit Entry View Entry.

Could there be an issue with Structure, possibly?

#17

BoldMinded (Brian)

Have you tried creating a new user with a different email address to have the approvals sent to? E.g. an email address hosted on a different domain?

I’m not sure how Structure could play into this. Are all the entries you’ve tested managed by Structure? If so have you tried a channel not managed by structure?

Sorry I haven’t given any solid answers on this, but it just seems very peculiar b/c the email sending code does not run twice, and I feel like if this was an obvious bug I would be able to replicate it and I’d probably be getting similar reports from other users, which leads me to believe its something with your environment, but I don’t know what that is.

#18

Megan Miriello

I’m using my email, which is a completely different domain and group form the client’s emails on the approval list. Tested to see if Structure was the issue by using a channel that wasn’t managed by Structure and it still sent duplicates. I created a local site and tested it (using the same method as before), it did not send duplicates. Could you explain what I can look for in the environment that could have caused this issue?

#19

BoldMinded (Brian)

You only provided credentials to the live site FTP, which I won’t login to. I’ll only FTP to a dev or staging site. So, here is what you can do to debug this a bit. In addon.setup.php line 332 uncomment this function by removing the // in front of each line.

function writeToFile($fileName, $data)
    {
        $file = PATH_CACHE.$fileName.'.txt';
    
        $stream = fopen($file, 'a+');
        fwrite($stream, print_r($data, TRUE) ."\n");
        fclose($stream);
    }

Then add this to line 205 of Service/Approval/ApprovalAbstract.php

protected function send()
    {
        $options = $this->getEmailOptions();
        // add this line
        writeToFile('email-debug', $options);

        if ($this->validate() == true) {

Then save an entry to trigger the emails, then look in your cache folder for the file email-debug.txt and share the contents of that file here.

#20

Megan Miriello

When I update add.setup.php on line 332, everything works fine, however, when I update ApprovalAbstract.php on line 205, the backend of the site 404s. If I delete the updated lines on 205, the backend is fine.

#21

BoldMinded (Brian)

A PHP error wouldn’t throw a 404, that is a page not found. Are you sure another error isn’t being thrown, like a 500 error, and that you added the code correctly?

#22

Megan Miriello

Sorry, I should have been more precise, it’s a HTTP ERROR 500. Here is the code from ApprovalAbstract.php that I have updated (starting from line 197 through 235):

/**
     * Send the email if they pass validation.
     *
     * @return $this
     */
    protected function send()
    {
        $options = $this->getEmailOptions();

        protected function send()
    {
        $options = $this->getEmailOptions();
        // add this line
        writeToFile('email-debug', $options);

        if ($this->validate() == true) { 

        if ($this->validate() == true) {
            $sendEmail = true;

            if (isset($options['to']) && $options['to'] != '') {
                $addresses = array();

                foreach ($options['to'] as $k => $v) {
                    // Assume its a member_id
                    if (is_numeric($v)) {
                        $member = $this->member->getMemberData($v);

                        if (isset($member->email)) {
                            $v = $member->email;
                        }
                    }

                    $addresses[] = $v;
                }

                $options['to'] = $addresses;
                $this->email->setEmailTo($options['to']);
            }

And here is my code for addon.setup.php (lines 323 through 340)

if (!function_exists('writeToFile')) {
    /**
     * Dump something to a text file. Used when debugging on someone's server,
     * or if I need the full request to finish but still trace the data.
     *
     * @param $fileName
     * @param $data
     * @return void
     */
    function writeToFile($fileName, $data)
    {
        $file = PATH_CACHE.$fileName.'.txt';
    
        $stream = fopen($file, 'a+');
        fwrite($stream, print_r($data, TRUE) ."\n");
        fclose($stream);
    }
}
#23

BoldMinded (Brian)

You pasted the code wrong. Just add the following line, not the whole function name again.

writeToFile('email-debug', $options);

So it looks like this

protected function send()
    {
        $options = $this->getEmailOptions();
        // add this line
        writeToFile('email-debug', $options);

        if ($this->validate() == true) {
#24

Megan Miriello

Sorry about that. Here is the log:

Array
(
    [label] => Send for approval?
    [template] => {member_name} ({member_email}) has submitted the entry "{title}" for Publishing on {date}.

<a href="http://{link}">Edit Entry</a>

<a href="http://{preview_url}">View Entry</a>
    [subject] => {approval_type} submitted for approval
    [to] => Array
        (
            [0] => 33
        )

    [reply_to] => website@fmbankva.com
    [reply_name] => Farmers & Merchants Bank Website Update Approval
    [deny_template] => <b>{screen_name} ({email})</b> will be notified that this draft approval has been denied. Please provide a reason and requested changes.
)

Array
(
    [label] => Send for approval?
    [template] => {member_name} ({member_email}) has submitted the entry "{title}" for Publishing on {date}.

<a href="http://{link}">Edit Entry</a>

<a href="http://{preview_url}">View Entry</a>
    [subject] => {approval_type} submitted for approval
    [to] => Array
        (
            [0] => 33
        )

    [reply_to] => website@fmbankva.com
    [reply_name] => Farmers & Merchants Bank Website Update Approval
    [deny_template] => <b>{screen_name} ({email})</b> will be notified that this draft approval has been denied. Please provide a reason and requested changes.
)

Array
(
    [label] => Send for approval?
    [template] => {member_name} ({member_email}) has submitted the entry "{title}" for Publishing on {date}.

<a href="http://{link}">Edit Entry</a>

<a href="http://{preview_url}">View Entry</a>
    [subject] => {approval_type} submitted for approval
    [to] => Array
        (
            [0] => 33
        )

    [reply_to] => website@fmbankva.com
    [reply_name] => Farmers & Merchants Bank Website Update Approval
    [deny_template] => <b>{screen_name} ({email})</b> will be notified that this draft approval has been denied. Please provide a reason and requested changes.
)
#25

Megan Miriello

Also, I received three emails this time.

#26

BoldMinded (Brian)

Ok, change that writeToFile line to this instead. It’ll save to a publisher.txt file I think in the same directory.

$logger = ee('publisher:FileLogger');
$logger->withBacktrace()->debug($options);
#27

BoldMinded (Brian)

It’ll save to a publisher.txt file I think in the same directory.

Same cache directory I mean.

#28

Megan Miriello

I’m in the same directory as the email-debug.txt (web/system/user/cache) and unfortunately, I don’t see publisher.txt.

#29

BoldMinded (Brian)

Search the rest of the cache directory, should be in publisher/log.txt

#30

Megan Miriello

Just saw it, thanks. Here is the text:

[2018-07-09 13:55:51] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 343 - Array [] []
[2018-07-09 13:55:52] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 343 - Array [] []
[2018-07-09 13:55:53] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 343 - Array [] []
#31

BoldMinded (Brian)

On line 285 of Service/Entry/Entry.php add these lines

$logger = ee('publisher:FileLogger');
$logger->withBacktrace()->debug('Saved...');

So it looks like this:

$this->syncDraft($entry);
        $this->sendApprovalRequest($entry, $meta);
        $this->saveDraft($entry);
        $this->cleanup($entry);

        $logger = ee('publisher:FileLogger');
        $logger->withBacktrace()->debug('Saved...');

        // -------------------------------------------
        //  'publisher_entry_save_end' hook
        if (ee()->extensions->active_hook('publisher_entry_save_end')) {
            ee()->extensions->call('publisher_entry_save_end', $entryId, $entry->getValues());
        }
        // -------------------------------------------

        return $entry;
#32

BoldMinded (Brian)

Delete the contents of publisher/log.txt before saving the entry again so those old debug lines are cleared out.

#33

Megan Miriello

Ok, the text has been deleted and this the text I receive after testing.

[2018-07-09 14:26:26] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 343 - Array [] []
[2018-07-09 14:26:27] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 343 - Array [] []
[2018-07-09 14:26:28] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 343 - Array [] []
#34

Megan Miriello

Oh wait, disregard the last message. I didn’t see your new function. I’ll update after testing.

#35

Megan Miriello

Here is the updated log:

[2018-07-09 14:34:14] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 346 - Array [] []
[2018-07-09 14:34:14] generic.DEBUG: Publisher_ext->after_channel_entry_save() line: 443 - BoldMinded\Publisher\Service\Entry\Entry->save() line:  - Saved... [] []
[2018-07-09 14:34:15] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 346 - Array [] []
[2018-07-09 14:34:16] generic.DEBUG: Publisher_ext->after_channel_entry_save() line: 443 - BoldMinded\Publisher\Service\Entry\Entry->save() line:  - Saved... [] []
[2018-07-09 14:34:16] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 346 - Array [] []
[2018-07-09 14:34:16] generic.DEBUG: Publisher_ext->after_channel_entry_save() line: 443 - BoldMinded\Publisher\Service\Entry\Entry->save() line:  - Saved... [] []
#36

BoldMinded (Brian)

Can you run this query on your database and share the results? It should find only 1 row.

select * from exp_extensions where class = 'Publisher_ext' and method = 'after_channel_entry_save';
#37

Megan Miriello

Here is the results, just one:

231 Publisher_ext after_channel_entry_save after_channel_entry_save 5 2.8.2 y

#38

BoldMinded (Brian)

It appears as if something is calling that function 3 times. Have you tried uninstalling all other add-ons except for Publisher on a local or dev site (backup db first) and seeing if the problem still exists?

#39

BoldMinded (Brian)

Is anyone double clicking the save button by chance when saving an entry?

#40

Megan Miriello

Ok, I’ll create a local of the site and test. I’m the only testing and I only click once on the save button.

#41

Megan Miriello

Sorry for the delay. So, I created a local site of the client’s site. I was able to replicate the issue as the live site. I went ahead and uninstalled all plugins with the exception of Publisher Lite. I replicated the same steps as I did on the live site: Step 1: Login as a publisher. Step 2: Create a page, type in a title. Make the status draft. Check the box “send for Approval.”

I receive this NEW error after saving the page:

Notice
Array to string conversion
user/addons/publisher/Service/Logger/AbstractLogger.php, line 85

Severity: E_NOTICE
Notice
Array to string conversion
ee/legacy/libraries/Template.php, line 3900

Severity: E_NOTICE
Notice
Array to string conversion
user/addons/publisher/Service/Logger/AbstractLogger.php, line 85

Severity: E_NOTICE
Notice
Array to string conversion
ee/legacy/libraries/Template.php, line 3900

Severity: E_NOTICE
Warning
Cannot modify header information - headers already sent by (output started at ee/legacy/core/Exceptions.php:119)
ee/legacy/core/Input.php, line 233

Severity: E_WARNING
Warning
Cannot modify header information - headers already sent by (output started at ee/legacy/core/Exceptions.php:119)
ee/legacy/core/Input.php, line 233

Severity: E_WARNING
Warning
Cannot modify header information - headers already sent by (output started at ee/legacy/core/Exceptions.php:119)
ee/legacy/libraries/Functions.php, line 392

Severity: E_WARNING

Step 3: I receive 2 duplicate emails (was three of the same emails earlier) and my email is the only one selected on the “Approval email list” setting.

#42

BoldMinded (Brian)

Do you still have the logging code in mentioned in comment #31?

https://boldminded.com/support/ticket/1764#comment31

#43

Megan Miriello

Sure, here is the log:

[2018-07-13 08:47:22] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 346 - Array [] []
[2018-07-13 08:47:22] generic.DEBUG: Publisher_ext->after_channel_entry_save() line: 443 - BoldMinded\Publisher\Service\Entry\Entry->save() line: 221 - Saved... [] []
[2018-07-13 08:47:22] generic.DEBUG: BoldMinded\Publisher\Service\Approval\EntryApproval->save() line: 268 - BoldMinded\Publisher\Service\Approval\ApprovalAbstract->send() line: 346 - Array [] []
[2018-07-13 08:47:22] generic.DEBUG: Publisher_ext->after_channel_entry_save() line: 443 - BoldMinded\Publisher\Service\Entry\Entry->save() line: 221 - Saved... [] []
#44

BoldMinded (Brian)

So it throws the “Array to string conversion” noticed and logs those two lines to the text file after saving an entry once? So every entry save creates 2 new identical lines in the log file? This doesn’t make any sense. I’ve never seen a hook get called twice like this.

#45

Megan Miriello

I agree, I also thought that was very strange. I’m very careful to make sure I’m only clicking the save button once.

#46

BoldMinded (Brian)

Is there a way to get this on a dev or staging site that I can login to? I really don’t like logging into production sites to debug, especially banking sites.

#47

BoldMinded (Brian)

And by login to I mean FTP and CP access.

#48

Megan Miriello

Sure, I’ve created a dev environment just for debugging. I was able to replicate the bug in this environment as well. If you need a back up for the database, please let me know. I couldn’t find any field in the “Edit Ticket” for a database upload. Let me know if you need anything else. Thanks!

#49

BoldMinded (Brian)

It appears I don’t have permissions to edit any files. I need to be able to edit all files in the publisher folder and cache folder please.

#50

Megan Miriello

I’ve updated permission. You should have access to everything now. Let me know if you need anything else.

#51

Megan Miriello

Also, I noticed that ext.publisher.php is empty as of this moment. Is that intentional? I just want to make sure that I haven’t accidentally erased files while updating permissions.

#52

BoldMinded (Brian)

ext.publisher.php should definitely not be empty 😊 Can you restore it from the version you’re using?

#53

Megan Miriello

That explains the 500 http error. I have restored it for you. I have no idea why all of the php was deleted…

#54

BoldMinded (Brian)

Every single hook on your site is getting called twice. Here is a CE Cache hook getting called twice

[2018-07-17 14:50:52] generic.DEBUG: EE_Extensions->call_class() line: 221 - Publisher_ext->before_channel_entry_save() line: 116 - before_channel_entry_save 1531853452 [] []
[2018-07-17 14:50:53] generic.DEBUG: EE_Extensions->call_class() line: 221 - Publisher_ext->before_channel_entry_save() line: 116 - before_channel_entry_save 1531853453 [] []
[2018-07-17 14:53:25] generic.DEBUG: EE_Extensions->call_class() line: 221 - Ce_cache_ext->hook_after_channel_entry_save() line: 116 - hook_after_channel_entry_save 1531853605 [] []
[2018-07-17 14:53:26] generic.DEBUG: EE_Extensions->call_class() line: 221 - Ce_cache_ext->hook_after_channel_entry_save() line: 116 - hook_after_channel_entry_save 1531853606 [] []
#55

BoldMinded (Brian)

I feel like at this point you should talk to EllisLab, something isn’t right with your site, which is what I suspected days ago.

#56

Megan Miriello

Ok, I’ve started a ticket with Ellislabs. Thank you for narrowing down the issue. I greatly appreciate it.

#57

BoldMinded (Brian)

No worries. I’m going to keep this ticket open for a bit just in case.

#58

Megan Miriello

Excellent! I can also pass the information along for the fix from Ellislabs if your interested.

#59

Megan Miriello

Here is the response I received from Eillislabs:

I think some of that is an artifact. Just for testing, I went in and added some EE logging- and enabled logging in your config.php. See the log_message? I added that as an ‘error’ and set logging to only record errors. If you look in system/user/logs/ in the log file, you’ll see all the ‘errors’, which are mostly extensions firing. Then I went and saved a test entry in ‘External links’ to see what I’d get. Now- those particular extension hooks aren’t firing twice in my debug (starting on line 128 through 138):
ERROR - 2018-07-17 17:16:00 --> Extension class: Low_reorder_ext : after_channel_entry_save
ERROR - 2018-07-17 17:16:00 --> Extension class: Publisher_ext : after_channel_entry_save
ERROR - 2018-07-17 17:16:00 --> Extension class: Ce_cache_ext : after_channel_entry_save
ERROR - 2018-07-17 16:16:40 --> Extension class: Detour_pro_ext : sessions_start
ERROR - 2018-07-17 16:16:40 --> Extension class: Publisher_ext : sessions_start
ERROR - 2018-07-17 17:16:01 --> Extension class: Low_search_ext : after_channel_entry_save
ERROR - 2018-07-17 17:16:01 --> Extension class: Structure_ext : after_channel_entry_save
ERROR - 2018-07-17 16:16:40 --> Extension class: System_messages_ext : sessions_start
ERROR - 2018-07-17 16:16:40 --> Extension class: Structure_ext : sessions_start
ERROR - 2018-07-17 16:16:40 --> Extension class: Structure_ext : sessions_end
ERROR - 2018-07-17 17:16:41 --> Extension class: Publisher_ext : core_boot
My bet is it bails out between the beginning of call() and before it cycles through ‘// Go through all the calls for this hook’. I suspect it may be because they’re ‘in progress’. I’ll also note- there are a ton that are called multiple times- like ‘custom_field_modify_data’, but that’s not necessarily problematic. I believe it’s properly cycling through the individual custom files. I’ve left that debug in there for the moment and turned on, as it might be useful. The nice thing with it is it’s simply and you can just put it wherever you want to see what’s going on. But- we do want to remove it once you’re done, so just let me know and I’ll hop in and take it out. Long story short- right now, nothing in the debug duplication raised an alarm bell with me. That doesn’t mean it’s not a good area to explore- it is. And if they nail down something that seems to be going wrong, let me know and we’ll dig back in. Things get complicated when you have a lot of nested extensions. Make sense?

What are your thoughts on this?

#60

BoldMinded (Brian)

I’m not really sure what to think. Who at EL were you talking to? I’ll reach out to them directly and get the scoop.

#61

Megan Miriello

I was consulting with Robin Sowell. Unfortunately, I don’t have an email address for you to directly contact Robin. I can inform Robin to contact you if you like.

#62

BoldMinded (Brian)

I have her email and may be able to reach her on Slack. Thanks!

#63

Megan Miriello

No problem! Happy to help.

#64

BoldMinded (Brian)

James, in a dev/staging environment, backup your database and uninstall Structure, then see if it still sends 2 emails.

#65

Megan Miriello

Uninstalled Structure and now it sends 3 duplicate emails.

#66

BoldMinded (Brian)

This makes no sense. Did you ever setup a brand new EE site with Publisher installed to see how many emails it sends? I think at this point we have to be 100% sure it either Publisher, or something else with your current environment.

#67

Megan Miriello

I agree that it doesn’t make sense. I did try a completely new local EE site environment with Publisher and Structure installed and I could not replicate the issue.

#68

BoldMinded (Brian)

Have you disabled each add-on 1 at a time until it stops sending duplicate emails? If you can do that, then it may pin-point which add-on may be causing the issue.

#69

Megan Miriello

When I created a local environment of the site, I did a test by disabling each add-on until it was just Publisher being installed and it still replicate the issue.

#70

BoldMinded (Brian)

Try un-installing Publisher then, and re-installing then see if it still happens (backup db first obviously)

#71

Megan Miriello

I’m using the local environment of the site, that has all of the plugins uninstalled and I deleted the plugin in the directory and uninstalled it on the control panel. I uploaded a fresh 2.8.3 Publisher Lite to the directory and installed it in the control panel. It now sends 2 duplicate emails.

#72

BoldMinded (Brian)

I’m not sure what else to look into at this point. In the 6 years since Publisher’s release I’ve never seen this happen before. I’m still leaning towards something being out of whack with your environment, but I don’t know what it is.

#73

Megan Miriello

Ok, thats fine. I will contact Ellislabs for further assistance. I greatly appreciate you helping me narrow down the issue. I agree that it’s a very strange issue.

#74

Megan Miriello

Comment has been marked private.

#75

BoldMinded (Brian)

James I’m not sure what to do with this. Debugging environmental issues is not included in the add-ons normal support. If this was repeatable on another server in another environment, then I’d spend more time digging into this, but as it is now it would be difficult to pin down without full root/shell access to the server, and even then I’m not sure where I’d start looking for something like this. I could spend hours (time I don’t really have) looking into this and turn up nothing. This may sound extreme, but have you considered spinning up a new server and redeploying the site to it, and switching DNS and all that? If it works fine on a new server, that may honestly be the path with least resistance.

Login to reply