Have mailgun extension and added mail account for bounce processing with mailgunDB as protocol and my API (using private API) as password. Every time a mailing goes through it has an error "failed to verify signature" and the details are about the webhook I added in mailgun. ..

ERROR message: Failed to verify signature code:

LAST ERROR Array ( [type] => 2 [message] => fopen(api/v3/MailSettings/Getoptions.php): failed to open stream: No such file or directory [file] => /var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Utils/File.php [line] => 431 )


SESSION CiviCRM: Array ( )

SERVER SERVER_SOFTWARE: Apache/2.4.29 (Ubuntu) REQUEST_URI: /civicrm/?page=CiviCRM&q=civicrm/mailgun/bounce&reset=1 REDIRECT_HTTPS: on REDIRECT_SSL_TLS_SNI:**** REDIRECT_STATUS: 200 HTTPS: on SSL_TLS_SNI: **** CONTENT_LENGTH: 1672 HTTP_HOST: **** CONTENT_TYPE: application/json HTTP_ACCEPT_ENCODING:gzip HTTP_ACCEPT: / HTTP_USER_AGENT: mailgun/treq-16.12.0 PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin SERVER_SIGNATURE: Apache/2.4.29 (Ubuntu) Server at ****

CONTEXT_DOCUMENT_ROOT:/var/www/html/wordpress SERVER_ADMIN: admin@example.com SCRIPT_FILENAME: /var/www/html/wordpress/index.php REMOTE_PORT: 56852 REDIRECT_URL: /civicrm/ REDIRECT_QUERY_STRING:page=CiviCRM&q=civicrm/mailgun/bounce&reset=1 GATEWAY_INTERFACE: CGI/1.1 SERVER_PROTOCOL: HTTP/1.1 REQUEST_METHOD: POST QUERY_STRING: page=CiviCRM&q=civicrm/mailgun/bounce&reset=1 SCRIPT_NAME: /index.php PHP_SELF: /index.php REQUEST_TIME_FLOAT: 1561936897.072 REQUEST_TIME: 1561936897


#0 /var/www/html/wordpress/wp-content/uploads/civicrm/ext/ca.bidon.reporterror/CRM/ReportError/Utils.php(31): reporterror_civicrm_generatereport("DOMAIN", (Array:2), NULL, (Array:0))
#1 /var/www/html/wordpress/wp-content/uploads/civicrm/ext/ca.bidon.reporterror/CRM/ReportError/Handler/FormsNoReferer.php(54): CRM_ReportError_Utils::sendReport((Array:2), (Array:0))
#2 /var/www/html/wordpress/wp-content/uploads/civicrm/ext/ca.bidon.reporterror/reporterror.php(168): CRM_ReportError_Handler_FormsNoReferer::handler((Array:2), (Array:0))
#3 /var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Error.php(372): reporterror_civicrm_handler((Array:2))
#4 /var/www/html/wordpress/wp-content/uploads/civicrm/ext/uk.teamsinger.civicrm.mailgun-master/CRM/Mailgun/Utils.php(30): CRM_Core_Error::fatal("Failed to verify signature")
#5 /var/www/html/wordpress/wp-content/uploads/civicrm/ext/uk.teamsinger.civicrm.mailgun-master/CRM/Mailgun/Page/HandleBounceWebhook.php(19): CRM_Mailgun_Utils::checkSignature(NULL, NULL, NULL)
#6 /var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(311): CRM_Mailgun_Page_HandleBounceWebhook->run((Array:3), NULL)
#7 /var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(85): CRM_Core_Invoke::runItem((Array:13))
#8 /var/www/html/wordpress/wp-content/plugins/civicrm/civicrm/CRM/Core/Invoke.php(52): CRM_Core_Invoke::_invoke((Array:3))
#9 /var/www/html/wordpress/wp-content/plugins/civicrm/civicrm.php(1392): CRM_Core_Invoke::invoke((Array:3))
#10 /var/www/html/wordpress/wp-content/plugins/civicrm/includes/civicrm.basepage.php(365): CiviCRM_For_WordPress->invoke()
#11 /var/www/html/wordpress/wp-includes/class-wp-hook.php(286): CiviCRM_For_WordPress_Basepage->basepage_handler(Object(WP))
#12 /var/www/html/wordpress/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(FALSE, (Array:1))
#13 /var/www/html/wordpress/wp-includes/plugin.php(531): WP_Hook->do_action((Array:1))
#14 /var/www/html/wordpress/wp-includes/class-wp.php(750): do_action_ref_array("wp", (Array:1))
#15 /var/www/html/wordpress/wp-includes/functions.php(1105): WP->main("")
#16 /var/www/html/wordpress/wp-blog-header.php(16): wp()
#17 /var/www/html/wordpress/index.php(17): require("/var/www/html/wordpress/wp-blog-header.php")
#18 {main}
  • 1
    I've tried to use the extension on a Drupal7 based CiviCRM and got the same problem. – loker Jul 3 '19 at 13:00

That extension hasn't been updated in a while and it looks like mailgun used to send signature parameters as request parameters and now has changed and sends them as part of a json payload. So it looks like the extension needs to be updated for that.

| improve this answer | |
  • Is there any way to get bounce info when using mailgun? – netzih Jul 3 '19 at 19:02
  • I guess you can log in to the mailgun portal to look it up manually. Otherwise somebody has to write some code somewhere. You could also try contacting the sponsor for that extension and see what they are doing - it looks like they still use civicrm: whirledcinema.com/contact – Demerit Jul 3 '19 at 19:35
  • I also need this - may be able to provide some funding to assist. Is anyone going to contact the developer? (thanks for the tip, @demerit) – Robin Fenwick Jul 3 '19 at 21:45
  • Netzih already filed an issue (github.com/teamsinger/uk.teamsinger.civicrm.mailgun/issues/23) but if the developer is no longer maintaining it then they may not see it. So that's why I suggested the sponsor org, since probably either they have an updated one or maybe they are no longer using mailgun. – Demerit Jul 3 '19 at 21:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.