Frage

I am using contact form 7 (version 3.3) plugin to create a form and to send email. I have only 3 field:

  1. firstname
  2. lastname
  3. email

When I click on submit button, email goes in junk folder.

War es hilfreich?

Lösung

The default CF 7 'from' field quite often results in the notifications being marked as spam. Change it to a proper email address, even noreply@yourdomain.com will work better than the default (as loan points out - missed that when I answered!).

If that doesn't help and it's actually the server you are hosting the site on that has been blacklisted, have a look at the WP plugin that allows you to use SMTP rather than the PHP mail() function.

http://www.wordpress.org/extend/plugins/wp-mail-smtp/

That can sort it too.

Andere Tipps

The recipient of the e-mail decides what e-mail content is to be considered "junk". Make sure there is a "from" e-mail in the e-mails sent out by the plugin. Then, in your e-mail client, add that address to a white list so that all future e-mails from it will always be considered legitimate.

Does your WP runs on a top level domain ? and on own hosting ? if you do try signing your domain with the SPF records and DKIM records.. Most of the main email providers look for these records on their incoming emails, before they decide it's a SPAM Hope that helps..

Avoid to use too much links in your e-mail, cause that will increase the chance that the mail will be marked as spam.

I had the same problem, but solved it by removing some links in the automatically generated mail.

I've just been resolving the same situation

My mail was being put in the spam folder and the email message wasn't being sent. I found this Link and added this code in my functions.php file:

function cdx_from_email() {
    return "wpgod@yourdomain.com";
}
add_filter( 'wp_mail_from', 'cdx_from_email' );
function cdx_from_name() {
    return "WPGod";
}
add_filter( 'wp_mail_from_name', 'cdx_from_name' );

By default your site will send as; from 'wordpress' by changing this to my name and email address everything worked sending to gmail.

This was all tested on a local MAMP set-up.

Although this question has already been answered, I thought I added this because the answer here provided was always my way to fix it until recently it stopped working again. So, I just came back from a seminar that targeted this specific problem. And I'm sharing :)

Most emails sent from third party applications such as Wordpress, Joomla, or Amazon get diverted to junk and sometimes they fail and get stuck behind a security layer. I know for a fact with Wordpress Contact Form 7, this is the case many times.

As much as I hesitate to relay on plugins, this one helps a lot! WP-SMTP

Before you do anything ensure your SMTP settings are written correctly and make sure the fields are filled correctly. This means ensuring these are the settings you are using for Outlook:

From: your email ("asdf@outlook.com")
From Name: "Your name or company name"
Host: smtp.live.com
Type of Encryption: TLS
SMTP Port: 587
SMTP Authentication: Yes
Username: Same you use to login (usually the complete email address)
Password: Enough said there

IMPORTANT - Send a test email even if it fails. The point is to trigger an activity in Outlook and have them flag it as an unauthorized connection

Now, to the fix:

  • Go to Outlook.com
  • Login
  • go to Account Settings
  • Choose Security & Privacy
  • Click on "See my recent activity"
  • The most recent activity should be the fail attempt. Authorize it as a trusted connection.

Done!

Re-test and you shall see your emails showing in the inbox as an authorized connection. Doing these steps let Outlook know that your emails from Wordpress are legitimate connections and not solicitations etc.

As you have been advised changing the default cf7 to noreply@yourdomain.com may give you a better result however, from my experience, more often than not, this is a problem with your hosting company's restriction of the PHP mail () function and not cf7 itself.

Since wordpress by default sends email using the PHP mail() function, which is already very popular for not being reliable, you should expect to lose some mails to the junk.

you can loose some mails to the PHP mail() function for a number of reasons but top of the list is:

Most hosting companies restrict usage of this function to prevent abuse and spam.

So if you are loosing emails to junk, chances are your hosting company is restricting the usage of this function for reasons mentioned above.

Solution:

Your best choice is to use SMTP (simple mail transfer protocol) in place of the PHP mail () function for sending mails. The SMTP is the industry mail standard and it uses proper authentication which ensures more mail delivery than the PHP mail () function which have a solid reputation for helping to conduct throngs of your mails into junk.

A simple fix for this malady is to install and configure this plugin Post SMTP Mailer/Email Log

I logged into Hotmail, opened the Junk folder and ticked the box next to one of the messages from my form. Up top there appears a "...", click that. Create a rule (delete others by clicking the X) that allows all from the domain your form is on, that moves it to your Inbox.

That's how I did it. Except I used the rule that says anything with "These words" in the subject line (see the Contact Form 7 settings and put "those words" there before the "[your-subject]").

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top