I have a VPS server running PLESK(12.5.30) and all of the WordPress forms we have that are supposed to send to people who fill out forms, are not being sent. They are just sitting in the mail queue as 'deferred'.
I think it has to do with php mail, but I can't seem to get this to work and my host is literally no help at all. I even called Plesk and they did not help.
Any ideas?
Thanks!
For more information you can check system mail log somewhere in in /var/logs/
Take in account that setting up working server of outbound mail is a real pain. In two words you need to setup SPF and DKIM or such mail services like Gmail will mark all emails from your server as spam by default.
In your case I can suggest to SendGrid service which has a WordPress plug-in https://wordpress.org/plugins/sendgrid-email-delivery-simplified/
(You need to register SendGrid account, it's free)
If your contact forms using default wp_mail() you mail will be send through SendGrid mail servers.
Also you can setup you Postfix/sendmail with using SendGrid's mail server: https://sendgrid.com/docs/Integrate/Mail_Servers/postfix.html
Related
I'm running an EC2 with (bitnami for wordpress) and have sendmail configured.
No matter if using my own php written forms or now contact form 7 plugin for wordpress there is one specific address (the clients mail address) that simply won't receive the mails from the forms.
I tested with multiple addresses of myself and I always get all the mails. As soon as I swith to the clients mail-address though they don't get the form mails, not even in the Spam-Folder.
What could be a potential reason?
I thought maybe the server doens't like the same sender and receiver address as the sending address in contact form 7 is info#website.at and the receiver is info#website.at … but I also changed that and tested, no difference.
here is the log file, but I'm unable to interpret that properly.
You should be very cautious about sending the email directly from an EC2, many email providers will actually block emails that come from the AWS EC2 ranges. This exists to prevent an EC2 host being used to send spam/spoof emails.
Additionally Bitnami mention in there documentation the below.
We recommend using an external SMTP server to send email from EC2 instances, due to AWS limitations on EC2 machines. For PHP applications, read the instructions on how to send emails using Gmail or using Amazon Simple Email Service (SES).
By using an external SMTP server combined with adding a valid SPF record you should be able to reduce the chance of emails not making it through to the client in addition to not being labelled as spam either.
Setup:
Ubuntu 16.x, Postfix, PHPMailer
SocketLabs (mail relay service) - to send out server emails
Union Solution Exchange Server - to send and receive formal email from outlook
Im trying to send out emails from my ubuntu linux server that contain simple form data (name, message, phone etc).
I have been trying in vain to send emails from my PHP to emails, they send, but they get blocked as spam/junk.
I've recently switched mail services (from zoho to a solution union exchange server) and I cannot get past barracuda (even modifying whitelists / spam settings etc) with my own mail, but I can see them as junk in my hotmail. (cannot not send from mailserver#potlickers.com to support#potlickers.com). They get immediately canned and not delivered.
Solutions Union said I was spoofing the emails and I cannot whitelist my own domain I'm using and sending from? Ok. They suggested buying another domain. I now own potlickers.net.
They also mentioned I should take that domain and use it to send my emails via open relay (again socketlabs).
So, if my webserver is setup on a fqdm such as potlickers.com, and i send the mail from that server, how do i setup the correct architecture to send mails from potlickers.net to the open relayserver so my emails are free and clear and not spoofed?
Can i configure postfix to send mail from potlickers.net even though its hosting on blah.potlickers.com?
I understand to also add dkim and PTR.
Help stackoverflow1 - your my only hope. TIA much much mucho thanks.
So I think I got it.
Reconfigured postfix as a satellite. Pointed to smtp of relay mail server. Removed all SMTP settings in PHPmailer that point to server, and credentials.
Fire away - works like a charm.
Satellite server has the new domain potlickers.net versus the webserver domain potlickers.com
Seems to work ok for now. Will update moving forward.
I'm using WordPress 4.7.2 and the contact form doesn't send the email if the account of the person is from a Gmail or a Yahoo service.
I'm using WPForms and a default WordPress installation but when I send a message in a simple contact form: Name - Last Name - Email - Message, if I use the contact form as a user with a gmail account or a yahoo account the email is never send, for instance If I use joe#gmail.com the email is not send, but joe#gmai.com works or joe#whateveremailworks.com
Where to begin to look or what could it be the problem?
Greetings.
Dreamhost - Sharehost - WP 4.7.2
You might find useful to look for services that allow you to send transactional e-mails. Some offer a free plan.
Examples of these are Amazon SES and sparkpost, but there are a lot more. Both have free Wordpress plugins available to make the integration easy for you.
This is just to mention two. I'm not affiliated with them and there are a couple of alternatives.
Alternatively, you can configure sendmail in your server. Relaying in an external SMTP server not intended to send transactional e-mails can drive you to troubles like the ones you are having now.
Well, It looks like the problem is with the anti-spam politics of my hosting provider. Gmail and Yahoo present these spam-problems but you can't let those potential clients to go away, and using and external STMP service to send emails is not a way to go for my client. So after testing I found a workaround in WPForms.
The problem is the sender email? Well let's change that.
Go to the settings of the Form, then go to the Notifications settings and just change the FROM to and email of your host service and that will do the trick. The only down here is that you are not going to receive the email from your potential client so you can't reply directly, you need to start an email and then send it to the user, but over that all the emails and notifications work great without a third party paid service.
Hope this help to anybody. Greetings.
For me google stopped receiving e-mails from my own e-mail server (postfix, dovecot, mysql, postfixadmin) to force me to use tls
once i did that i also decreased my spam ability by adding spf, dkim and dmarc to my dns plus signing the e-mails by dkim.
This is quite strange as email sending using my Gmail SMTP server works in my localhost, but when I deployed it on a VPS, it wouldn't work at all.
I can't find any issue as to why this is happening, the configuration looks normal (SSL port 465, Gmail SMTP server). I'm using Laravel 4.0.9 so I thought of upgrading to 4.1/4.2 to use the Mailgun feature (not sure if 4.0 can use Mailgun?)
Anyway, for a quick fix, I just switched to mail method for email sending. Since this works well for me, my question is that whether there is any tradeoff of using mail instead of SMTP on Laravel? The delivery seems okay as it got to my inbox, but what about the long term?
Any thoughts would be very much appreciated :)
When using the built-in mail function you don't benefit from additional features such as DKIM and the SFP configuration for your domain may not allow hosts other than your SMTP mail server to send mail for your domain, all of this makes the mail you send that way look like spam to other servers.
While you may not have issues with some providers, try to send mail to some more restrictive providers such as Outlook (ex-Hotmail); I'm pretty sure all the mail you send there will be automatically marked as spam because of the issues described above.
PHP mail may be faster since you don't have to connect to your smtp server, but it's not better. In the long run, SMTP email is the only way to guarantee that your email will arrive in the inbox of your receivers
I'm created a website with PHP on a Linux web hosting package. Normally I will get emails sent by its contact form that produced by PHP Mail() function. But this time, it is a strange case for me.
My customer company has a mail server. If I send an email via my personal email on Gmail, they will get it on their mail server. But when I send emails via contact form, emails go to webmail on website hosting package.
I've removed all email accounts on this host, also I removed DNS MX record from it, but still I can not receive emails sent by contact form on the company mail server accounts.
How can I solve this problem?
As it seems from your question the webshoting provider is also your email hosting provider. The way you explained the problem leads me to the conclusion that your PHP script uses the mail() function which will internally call the MTA (like sendmail) to send the email.
Now what seems to happen here is that PHP is sending the mail through mail() function which is passing it on to the local MTA (like sendmail) which is checking the local configuration. In the local config it seems to find the recipient domain as a local domain and deliver the mail locally to the user. In this case the email is not even leaving the webhoster's server.
As this is not what you expect, you have 2 possibilities if you do not have influence to the MTA's configuration (what i think you dont have).
I would propose (if possible) to not use the mail() function. There are ready to use SMTP classes which will connect to a SMTP server of your coice to send the email to. In that way you can avoid this problem. You should find something in the PHP Classes Repository.
Send the email to a different domain if possible. That way the MTA has to check DNS and send the email to another SMTP server for delivery.
The first thing to establish is how you are sending emails (sendmail or SMTP). Then, whether your emails are a) not sent at all or b) getting rejected by the destination mail server.
I'd check all available logs (source and destination mail servers and daemons). See if mail() itself is erroring. Try using sendmail/smtp directly.
If its the destination server rejecting the mail based on its spam score, try setting SPF records to enable the web server to send mail legally.
If your email function "mail($to,$subject,$message)" is not working then you need to check the server configuration. Now it is enable or not .
For more details, see here : https://wycks.wordpress.com/2013/10/09/when-phps-mail-function-doesnt-work/