Reply by email not working with Mandrill
-
Hi r-a-y,
I came across your plugin and was fascinated by the possibility of replying by email on my website which is centered around buddypress and bbpress. Thanks for the effort.
However, excited as I am, I can’t get it to work. Can you please help me understand what am I missing here? I followed your setup instructions from https://github.com/r-a-y/bp-reply-by-email/wiki/Mandrill but in the last stage when I test the route with POST URL as my wordpress install url -> http://yourdomain.com/ , I get an error saying “Webhook failed with error: POST to http://yourdomain.com/ failed with 403: WordPress › Error
ERROR: Sorry, there was an error. Please be sure JavaScript and Cookies are enabled in your browser and try again.If on the other hand, I chose the POST URL as http://yourdomain.com/something then Mandrill shows test as successful but it still doesn’t work because the reply is not delivered to the original sender.
-
Wanted mention that I’ve only installed bp-reply-by-email-1.0-RC3 as I had most other components and a functioning website. Are there any dependencies on other plugins or rest of the box?
Thanks for reaching out, learner4life.
Are there any dependencies on other plugins or rest of the box?
There are no dependencies.
but in the last stage when I test the route with POST URL as my wordpress install url -> http://yourdomain.com/ , I get an error saying “Webhook failed with error: POST
Are you testing your route at Mandrill.com?
Specifically, check your domain at:
https://mandrillapp.com/inbound
Check if the DNS is valid on that page. If it is, click on the domain you created and click on “Send Test”. Is this where you are failing?
If so, try changing your “Post to URL” without the trailing slash (eg.
http://example.com
).Also, make sure your site is publicly accessible. By that I mean, your site isn’t blocking requests from the .htaccess level or you are using redirection plugins for the homepage.
What type of content are you trying to reply-by-email to (at-mention, private message, bbPress forum post)?
If it is a bbPress forum post, read this:
https://github.com/r-a-y/bp-reply-by-email/wiki/bbPressFor further debugging, read the “Check the debug log” section of this article:
https://github.com/r-a-y/bp-reply-by-email/wiki/Troubleshooting-GuideHi r-a-y thanks for a quick response: please answers as below –
I had checked the inbound setting on https://mandrillapp.com/inbound and that gives a message of MX:Valid.
After that when I click Send Test in the Route settings is where I am facing trouble. I have tried the home url both with and without the trailing slash.
The site is live and is publicly accessible. And I am not using any redirection plugins.
The content that I am trying to reply-by-email is mostly private messages and at-mention (would like to do bbpress in future but not currently)
Upon some more investigation, I get a feeling if it might have something to do with the fact that my wordpress intall directory is infact root. I’m using CentOS 7 and Apache and have the website installed in /var/www/html/ instead of the norm of /var/www/html/wordpress/ I am looking more into the folder/directory permissions etc now. Could it have something to do with that?
Upon some more investigation, I get a feeling if it might have something to do with the fact that my wordpress intall directory is infact root. I’m using CentOS 7 and Apache and have the website installed in /var/www/html/ instead of the norm of /var/www/html/wordpress/ I am looking more into the folder/directory permissions etc now. Could it have something to do with that?
That shouldn’t matter. You could use a valid post permalink as your “Post to URL”. I believe that should work, but I haven’t tested.
Once you have done that, create a new at-mention to another user. When you receive the email, check the ‘Reply-To’ email header. It should contain your subdomain you set up at Mandrill.com (eg.
XXX@sub.example.com
). Can you verify that?Next, reply to the email. Make sure the email address you are replying with matches the email address of the user in the WP users database. If the email addresses do not match, the item will not post.
If the reply is not created, check the debug log as mentioned in my reply above and report back.
I had been looking at the debug log but it is empty.
What I did just now is create a blank reply-by-email.php file in the root wordpress folder and give it as the “Post to URL” after that the Send Test succeeded in Route Settings in Mandrill and I got a message saying successfully posted 2 test events to http://example.com/reply-by-email.php
After that when i logged in to the website and sent a private message Account 1 to Account 2, the message was delivered to Account 2 inbox with reply-to email as a-long-generated-key@sub.example.com (same as set in mandrill) and the from email was also automatically changed to noreply@example.com. So it works this far
But when I reply to the message (from Account 2’s registered email), the message is sent but not delivered to original sender (Account 1). Mandrill shows the event as completed.
Additionally, the debug log is emplye and the emails I am receiving are not having the expected line that — REPLY ABOVE THIS LINE —-
I also replicated this with at-mention and everything else worked except the actual posting of reply by email.
In each email the line was NOT present as shown in screenshot
— Reply ABOVE THIS LINE to add a comment —
and the reply was sent sucessfully through mandrill but didn’t get posted on the website.
What I did just now is create a blank reply-by-email.php file in the root wordpress folder and give it as the “Post to URL” after that the Send Test succeeded in Route Settings in Mandrill and I got a message saying successfully posted 2 test events to http://example.com/reply-by-email.php
This will not work since your
reply-by-email.php
is not loading WordPress.Have you tried changing the “Post to URL” to a valid WordPress page or post permalink?
When I change to any WordPress page or post permalink, I get the same error.
“Webhook failed with error: POST to http://yourdomain.com/permalink/ failed with 403: WordPress › Error
ERROR: Sorry, there was an error. Please be sure JavaScript and Cookies are enabled in your browser and try again.You shouldn’t get 403 errors.
My guess is that it’s a plugin conflict most probably caused by an anti-spam plugin.
I would try deactivating these plugins and test again.
You could debug with the Firefox “HTTP Requester” addon to test generic POST submissions to your site to see if you are still getting 403 errors:
https://addons.mozilla.org/en-US/firefox/addon/httprequester/Hi r-a-y so I was finally able to figure out the 403 error. Another wordpress plugin wp-spamshield was blocking mandrill webhooks. So once I modified that, the Route Tests were coming successfully on mandrill the “Post to URL” worked as http://example.com
But then I faced another problem and got an email saying
—
Hi there,Your reply could not be posted because we could not find the “— Reply ABOVE THIS LINE to add a comment —” marker in the body of your email.
In the future, please make sure you reply *above* this line for your comment to be posted on the site.
For reference, your entire reply was:
—I went looking for solution again and found this thread https://github.com/r-a-y/bp-reply-by-email/issues/57 but it was for imap and I am using inbound.
What should I do now? Please help!
Are you posting your reply above the “— Reply ABOVE THIS LINE to add a comment —‘ marker of the email?
Anything in the debug log?
That’s the thing, when I received the notification via email, in the email there was no line that said
“— Reply ABOVE THIS LINE to add a comment —‘It was just the normal buddypress notification email that I would normally get except that from and reply-to were changed.
This is the info from debug log
[21-Dec-2015 20:56:01] – Mandrill webhook received –
[21-Dec-2015 20:56:01] Message #1: email headers successfully parsed
[21-Dec-2015 20:56:01] Message #1: address tag successfully parsed
[21-Dec-2015 20:56:01] Message #1: error – no user ID could be found
[21-Dec-2015 20:56:02] Message #2: email headers successfully parsed
[21-Dec-2015 20:56:02] Message #2: address tag successfully parsed
[21-Dec-2015 20:56:02] Message #2: error – no user ID could be found
[21-Dec-2015 20:56:03] – Webhook parsing completed –
[21-Dec-2015 20:56:35] – Mandrill webhook received –
[21-Dec-2015 20:56:35] Message #1: email headers successfully parsed
[21-Dec-2015 20:56:35] Message #1: address tag successfully parsed
[21-Dec-2015 20:56:35] Message #1: error – no user ID could be found
[21-Dec-2015 20:56:36] Message #2: email headers successfully parsed
[21-Dec-2015 20:56:36] Message #2: address tag successfully parsed
[21-Dec-2015 20:56:36] Message #2: error – no user ID could be found
[21-Dec-2015 20:56:37] – Webhook parsing completed –
[21-Dec-2015 20:59:57] – Mandrill webhook received –
[21-Dec-2015 20:59:57] Message #1: email headers successfully parsed
[21-Dec-2015 20:59:57] Message #1: address tag successfully parsed
[21-Dec-2015 20:59:57] Message #1: params = Array
(
[m] => 2607
)[21-Dec-2015 20:59:57] Message #1: error – body message for reply was empty
[21-Dec-2015 20:59:58] – Webhook parsing completed –Are you using any custom email plugins?
not really, for transactional email, I only use wpmandrill for buddypress. No custom email plugins. I do have two other plugins for syncing user data to mailchimp they are mailchimp-for-wp/mailchimp-for-wp.php, mailchimp-sync/mailchimp-sync.php
Try disabling wpmandrill.
Their plugin does not properly use WP Mail’s filters, which is what I use for the plugin.
Also see:
https://github.com/r-a-y/bp-reply-by-email/issues/31
- The topic ‘Reply by email not working with Mandrill’ is closed to new replies.