Support » Plugin: wpMandrill » [Plugin: wpMandrill] Mandrill: wp_mail has been declared by another process

  • Resolved tclydesdale

    (@tclydesdale)


    Hi there,

    First post on the WordPress.org support forums, so sorry if I’ve missed something.

    I receive the following error when I activate the Mandrill plugin:
    Mandrill: wp_mail has been declared by another process or plugin, so you won’t be able to use Mandrill until the problem is solved.

    I’m using Mandrill 1.20 and I have narrowed the error down to Cart66 Professional 1.5.0.2 (being the other process using wp_mail).

    Anyway, I was unsure who I should be asking about a resolution to this, so I figured why not both (Mandrill and Cart66). This way I can help other people find a resolution to this problem quicker in the future.

    Any advice would be appreciated, I’ll post back any information I receive from Cart66 regarding this.

    Thanks!

    -Timbo

    http://wordpress.org/extend/plugins/wpmandrill/

Viewing 15 replies - 1 through 15 (of 19 total)
  • Plugin Author MC_Will

    (@mc_will)

    Hi,

    I think it has nothing to do with Cart66. I’ve used them together with no problem at all.

    It seems that you have another plugin/process installed that is overriding the wp_mail function so wpMandrill can’t (yeah, they are that jealous!).

    I’d recommend you to deactivate all your plugins but wpMandrill… and perform a password reset in your wp blog. if it works, start activating your plugin one at a time until you find the culprit.

    If wpMandrill didn’t work even with no other plugin activated, probably your theme has a process running that override the wp_mail function.
    Try activating a default theme.

    If none of this work, can you tell me a little bit about your installation? OS, Server, WP Version, where is your wp hosted? …

    MC_Will,

    I am one of the developers of Cart66 and I do believe that the conflict is with Cart66. In our latest version of Cart66, we do override the default wp_mail function to enable us to send HTML email receipts. (A new feature for this version). The reason we do this is because WordPresses wp_mail function by default does not allow you to send emails in a multipart format which is essential for how our emails work.

    If there is a way that we can communicate about how to get our plugins working together, that would be awesome.

    Let me know what you think,

    -Benjamin

    Plugin Author MC_Will

    (@mc_will)

    Oh I see… Seems that I need to update Cart66 in my box now 🙂

    Sure, submit a request on http://help.mandrill.com/ and ask them to forward it me.

    Will,

    I sent in a support request, but didn’t get any email yet. Not sure if it worked as it should.

    Plugin Author MC_Will

    (@mc_will)

    I got it. Thanks.

    Hi all i have the same problem. I have an admin notice like
    Mandrill: wp_mail has been declared by another process or plugin, so you won’t be able to use Mandrill until the problem is solved.

    when i deactivate brightcove plugin this works fine but i think there is no connection between mandrill and brightcove…

    Can you have some suggestion for this problem..

    i want to keep active both plugins.

    thanks…

    Hi Biswajit,

    I was lucky enough that both development teams got together and fixed the problem (Cart66 released a fix, I presume since their plugin doesn’t solely depend on email).

    All I can suggest is to install an SMTP plugin for WordPress and use the Mandrill SMTP settings (though I’m not sure they won’t demand the same “wp_mail” declaration…).

    Else, if you have you own server like Amazon’s EC2, then perhaps you could configure the local sendmail to use Mandrill’s settings?

    Finally, speak nicely to the makers of brightcove, as I presume they could implement a fix just like Cart66 did in my case.

    Good luck with it!

    -Timbo

    Thanks Tclydedale,

    I have already install wp mail smtp and also configure it with mandrill SMTP settings. But still it not work. 🙁

    I think mandill demands the same wp_mail declaration because…

    the notice code execute from here…

    if( function_exists('wp_mmail') ) {
                self::$conflict = true;
                add_action('admin_notices', array(__CLASS__, 'adminNotices'));
    			return;
    }
    
            self::$conflict = false;
    		if( self::isConfigured() ) {
    
    			function wp_mmail( $to, $subject, $message, $headers = '', $attachments = array() ) {
    				try { ............

    I don’t know what to do….??

    please help..

    Plugin Author MC_Will

    (@mc_will)

    Hi Biswajit Ghosh,

    If you are using SMTP to send your email, you should deactivate wpMandrill. They can’t live together.

    Hey Will I understand what you eill say…

    but i want to do something like different to choose mandrill template from wp-admin and then send mail with the template via mandrill.

    I think If i deactivate wpmandrill plugin then email-template will not work.

    I hope i make you understand…

    Plugin Author MC_Will

    (@mc_will)

    Hi Biswajit Ghosh,

    I understand. I also understand that when you deactivate BrightCove, everything works as you want.

    Problem is BrightCove and wpMandrill are “fighting” to take control of a WordPress function that can only be “owned” by one process: Either BrightCove, Mandrill, or WordPress itself.

    There’s no way both plugins can work together. Cart66 had the same problem and we worked together so both plugins could work together. Probably the same solution could be adopted by the developers of BrightCove.

    This plugin also gives the same conflict error in confrontation with White Label CMS.

    White Label CMS WordPress Plugin

    http://wordpress.org/support/plugin/white-label-cms

    MC_Will, maybe you can reach out to VideoUserManuals team and share the solution that you and Cart 66 were able to come up with.

    I’d like to get more in depth with Mandrill, but not if I have to sacrifice using White Label CMS. I use that plugin on all of my deployments.

    I am in the same situation as skizzy. Deactivated all the plugins and found the conflicting one. White Label CMS. I also use that plugin for all my deployments.

    Created a topic in White Label CMS support forum. >> Link

    Hi andamira,

    I found the problem, because there was a file include wp-includes/pluggable.php into their wp-mandrill plugin to use all the functionality like current_user_can(‘administrator’) etc. , I remove the include portion of wp-includes/pluggable.php and change the wp function current_user_can('administrator') with is_admin() .

    I think white-label-cms plugin also have includes some wp core file, that is execute twice. Try by removing it.

    Hope it help.

Viewing 15 replies - 1 through 15 (of 19 total)
  • The topic ‘[Plugin: wpMandrill] Mandrill: wp_mail has been declared by another process’ is closed to new replies.