Registering as a new user not getting verification email in wordpress - wordpress

I am using "RealHomes Theme" for my project but the problem is while registering as a new user it is successfully adding but unable to get an email verification for the user.

Try disabling all of your plugins and using the default theme.
If you're able to register and get the email, turn on all plugins and try again.
If you still get it, it's an issue with the theme and you should take it up with the developer.
If not, disable all plugins and change back to your RealHomes theme.
If you get it from there, it's a plugin conflict and you'll have to diagnose that and remove/fix the plugin causing the issue.
However, if you can't get it at all, even with the theme/plugins disabled; it's probably because all-to-often WordPress emails get sent into spam or the void, and it's then an email issue which is harder to diagnose (is it your server, potential blacklisting [use MXToolbox to confirm], email provider issue?).
We had this issue a lot, and to mitigate we started to use wpMandrill and enabled DKIM and SPF on all domains we send from which increased out WP email delivery rate to almost 100%.
Make sure you have DKIM and SPF records for your domain, and are sending from an account that exists on the same domain such as:
https://example.com/ should be sending emails from something like WordPress#example.com

Related

Failure to set up the WP Mail SMTP plugin to use the Gmail API in my WordPress website

I am trying to set up emails on my WordPress website using the WP Mail SMTP plugin and the Gmail API. (WordPress version 5.5.1; WP Mail SMTP Version 2.4.0)
The website I am trying to set this up on, https://souheganvalleychorus.org/ is part of a GSuite for non-profits domain.
I have followed the WP Mail SMTP setup instructions on:
https://wpmailsmtp.com/docs/how-to-set-up-the-gmail-mailer-in-wp-mail-smtp/
with meticulous care. However, when I get to the final step, where I click on the WP Mail SMTP plugin's setup page, and click on "Allow plugin to send emails using your Google account", get prompted with some dialog boxes, choose the email address that I used to set up the Gmail API, it finally comes back with a webpage that says simply:
Unauthorized
Back {a link}
the URL for this page is:
https://souheganvalleychorus.org/wp-admin/options-general.php?page=wp-mail-smtp&tab=auth&code=4/4AEw2mlaJPMgOg7boWHzLLDIJdg0Gwb98vGyJfrteQXcOE5cnL1HMj5wX6QSRZQ0x2rhrbxlzqKPBsF7uokdWCg&scope=https://mail.google.com/
I have been pulling my hair out trying to figure out what is happening, and what I can do to fix it. The 'Unauthorized' provides absolutely no additional information.
I have previously set up the WP Mail SMTP plugin to use the Gmail API, on another website (also a GSuite for non-profits domain, but a different one), and succeeded in that case. I seem to recall having had some problems setting that one up, too, but don't remember how I resolved the issue. When you do something (especially with such an arcane interface as the Google API interface) once in a blue moon, you tend to forget the details. I have tried to compare the two Gmail API setups, and can find no difference that would explain the failure in the current case.
I sure would appreciate anyone's help in resolving this. Until I do, I can't send email from the website. I've also tried using WP Mail SMTP's "Other SMTP" option, with the Gmail SMTP credentials, but that fails to authorize, so I'm stuck...
Help! (and thanks!)

On local New User Registered email not sending in wordpress

I am new to wordpress. I am working on Localhost with woo-commerce. When a new user is registered, email verification link is not sending to the user and also for admin.
Should i need SMTP for this or any other settings to fix.
In localhost, an email will not be sent due to lack of access to the server
This problem will be solved by transferring the site to a server and making the site online
If you forgot your password, you can change it through the database
phpmyadmin
your database > wp_users
It is possible for WordPress to send emails on localhost.
You can use SMTP or find out what is preventing emails from being sent.
For SMTP, I recommend using the plugin WP Mail SMTP By WP Forms. I should add that I don't particularly like this plugin, but it works!!
If you don't want to use the plugin, you can also google 'how to use SMTP in WordPress without a plugin.'
To find out what might be causing the issue, you can use the plugin Check & Log Email. I highly recommend this plugin! It helped me find out the cause of my problem in minutes.
If the problem is that WordPress is trying to send emails from "WordPress#localhost" (I suspect it is), then you can just change the 'from address' and you'll be on your way.
WordPress has a filter for changing the 'from address' used by wp_mail. So you can easily do something like so:
add_filter('wp_mail_from', 'get_admin_email');
if(!function_exists('get_admin_email')) {
function get_admin_email($email) {
$wp_from = get_option('admin_email');
return $wp_from;
}
}
The code above tells WordPress to use the admin email address as the 'from address'.
Further reading:
WordPress Docs
My Blog
HTH,
Mwale

Woocommerce + GSuite - Transactional emails best practices? Anyone?

I've lost my brain the last couple of days trying to find the best solution for handling my transactional woocommerce emails, so that customers and store managers (on G Suite at the same domain as my site) get notified of new orders, etc.
TL;DR: I have a Woocommerce and want the next e-mail behavior and I wonder what's the best way to achieve this:
Have woocommerce emails don't go to my customer spam folders and get
notified to store.manager#mydomain.com and myemail#mydomain.com
G-Suite email accounts.
Use the info#mydomain.com and "MyDomain" as the "from email and name" in WooCommerce. Whether the info#mydomain.com is an e-mail
alias of my G-Suite email or a server side e-mail I don't care. What
I don't want is to configure a new G-Suite email just to serve
transactional e-mails.
So I'll describe my original situation, problem and the solutions I've read about:
When I setup the Woocommerce e-mails in settings, using a #mydomain.com email account two things happened:
Customers would receive the e-mails on their spam folder.
Store managers did not receive any e-mails whatsoever.
We also have this context info that might be of help:
We are just starting as an e-commerce, so no big load of emails...
We use the cheapest G-Suite plan (with up to 5 accounts) with our domain in Google Domain, so I don't want to use one of those account just to handle the transactional e-mails.
So I found the alias option and setup different aliases to both send and receive e-mails. E.g: "info#mydomain.com".
I read the official Woocommerce email-FAQ, and a bunch of other links in the Wordpress Forums and Stack Overflow, I came to find this three courses of action:
Setup split delivery and let my transactional e-mail address run from C-Panel.
Use an SMTP Plugin and set it up to use the Gmail API.
Create a subdomain and set WooCommerce/PHPServer to send the emails and just use my G-Suite emails as recipients.
I've read tons, and find myself in a loop where I don't know what's the best, future proof option, but this is what I've tried for every option:
I desisted on the idea of split delivery as soon as I found the e-mail aliases option in GSuite.
I did activated it and it solved one of my two problems, customers were no longer getting my emails to spam, but the Gmail API won't let me change the "from address" nor even the "from name", unless I select the alias as the default e-mail address on Gmail, which is not something I want; and if the alias (set up as mailer) and recipient is the same, then GSuite won't show the email in the inbox, but in the sent folder (and marked as read). So If the store manager email (storemanagername#mydomain.com) has an alias used to send Woocommerce emails (info#mydomain.com) he won't be notified for new orders.
I configured a domain alias on my Google Admin settings as a subdomain (store.mydomain.com) (which generates a new email alias with that subdomain) then I created a subdomain on my hosting provider (pointed at nothing for the moment) and had my hosting setup the Google MX records for my subdomain. Without the SMTP Plugin it does nothing, regardless of which e-mail I put in the from and recipient fields on the WooCommerce settings. With the SMTP Plugin things kind of work, using the alias#subdomain.mydomain.com as the recipient, as emails do arrive to inbox (instead of the sent folder) but doubled the regular mail and a huge postmaster notice, about how the domain alias "subdomain.mydomain.com" doesn't exist.
As a related note: Google per default generates a test domain alias which is mydomain.com.test-google-a.com when I use the alias e-mail with this alias domain recipient in woocommerce and the regular G-Suite in the from field on Woocommerce things pretty much work, except that my customers still get the emails to their spam folders.
How would I setup mailgun or sendgrid to use info#mydomain.com as the sender e-mail address? Would that work better?
I'm not new to wordpress, but definitely I'm a noob at WooCommerce and email protocol, setup in general.
Do you think you might exceed the G Suite sending limits? That'd push you towards the SendGrid/Mailgun/etc. solution for outgoing info#mydomain.com mail, with G-Suite accepting the incoming mail however you'd like. Though if it's important to avoid "reply-to" type addresses, make sure to choose a provider/plan that supports running off your domain (SendGrid calls it "domain authentication", Mailgun calls it "domain verification", etc.).
That will likely also solve that initial problem you described in your point #2 (assuming it was due to mail being treated as local-to-the-web-server).
If you take that approach, make sure to triple-check your SPF/DKIM/DMARC setup. And depending on which provider you go with, some of their WordPress/WooCommerce integration plugins are...not great. I've been working on summarizing the providers and their plugins if it's of any help.
And I had a little trouble following who needs to get copies of what, but there's the woocommerce_email_headers filter if it would be helpful to BCC the store managers. You could even do it selectively.

Office 365 Advanced Threat Protection is flagging my Firebase Authentication emails

I have just today realised that the authorisation emails sent from my perfectly legitimate Firebase backend are being flagged as malicious by Microsoft Outlook's "Advanced Threat Protection"
There is no reason for this other than perhaps it was flagged during development due to me sending myself repeated confirmation emails in order to test the functionality.
This warning does not show up in regular hotmail/outlook accounts, but I am an Office 365 subscriber so it appears as though I am lucky enough to get this "advanced" protection which protects me from my own completely non-malicious website.
Should I contact Microsoft or Firebase for a solution?
Thanks a lot!
Update: I contacted Firebase support and received the following:
My name is XXXX from Firebase Support, thank you for reaching out to us, problems on Microsoft services such as this “Advanced Threat Protection” is not in my area or expertise, I would suggest to open a ticket with Microsoft for this issue, I see that there is already a topic on Stack Overflow, please be sure to check other Firebase community channels as well.
I understand that this isn't Google's problem to solve, but it would seem any Firebase app using email verification is going to run into trouble with Microsoft email systems. Which is a lot of corporate and government systems...
Any suggestions on how to get some attention paid to this from either Google or Microsoft?
Cause
This error is caused by having inconsistent domains in the email. By default, user management emails link to the default action handler, which is a web page hosted at a URL in your project's Firebase Hosting domain ([project].firebaseapp.com), rather than the the same domain you may be sending emails from (veritification#yourdomain.com).
Solution
Make this “action link” go directly to your website. This will solve the outlook warning, and also make it less likely you'll end up in spam filters in general. On your website, you have 2 options for how to handle the actual validation.
Both solutions below require your domain to be authorized.
This can be done under Authentication -> Sign-In Providers -> Authorized Domains
Option 1 - Use Custom Email Action Handlers (Hard option)
You can setup a custom email action handler so that these actions take place directly on your website, rather than on the firebase hosted page. This is a more integrated experience.
This can handle
Resetting passwords
Revoking email address changes—when users change
their accounts' primary email addresses, Firebase sends an email to
their old addresses that allow them to undo the change
Verifying email addresses
1. Create your custom email handler page
custom email action handler page - firebase docs
2. Update Email Template In Firebase
This can be done under Authentication -> Templates -> Email Address Verification -> Customize Action URL
Option 2 - Just Redirect (Easy option)
Link the email back to a page on your website, that will immediately perform a javascript redirect to the [project].firebaseapp.com authentication page, carrying through the URL parameters required to perform necessary verifications and changes.
For Example
action url for email template: https://www.yourdomain.com/account-action (firebase will attach the appropriate params to the url automatically)
Javascript redirect on your website goes to ”https://project-name.firebaseapp.com/__/auth/action?” + params
I recommend ensuring you implement the continueUrl in your verification email delivery so that the user can easily get back to your website.
If you're using Firebase hosting, and you're serving from their built-in your-project.web.app address, then you can simply use the other built-in, your-project.firebaseapp.com, as your site address instead -- no configuration needed.
The .web.app address is a bit sexier, but the various action emails are actually sent from the .firebaseapp.com, and Outlook is suspicious of the mismatch. Having users originate from the .firebaseapp.com address solves the issue.
I opened a GitHub issue about this: https://github.com/firebase/firebase-js-sdk/issues/5021][1]

Failed to send email from contact form 7

I am using contact form 7 one of my wordpress site that using vantage app theme. But problem with sending contact mail. when I am trying to send mail get following message
"Failed to send your message. Please try later or contact the administrator by another method."
Thanks
The only problem is you can send emails from you hosting domain email accounts only.
so check your to email address that is comes under you domain name
I hope this will solve your problem
This is almost certainly due to your particular hosting setup. There are a host of issues that can stop the sending of emails. It depends entirely on your local Server & WordPress configuration.
You will need to investigate this issue for your particular local configuration. See Contact Form 7 Email Issues.
By the way it's not due to "hosting php version or maybe mysql version" - it's due to basic stuff that you can address by working through the issues in the link.
I faced the same issue some time back. Are you using any WordPress caching plugin? like WP super-cache? I resolved this issue by following below steps on WP Super-cache.
Go to WP Super-Cache Admin panel
Go to “Advanced Tab”
Search for “Add here strings (not a filename) that forces a page not to be cached.”
Add '/contact/' (your Contact Form Page name)
Save Strings.
I was able to fix this problem after I spoke to my client's hosting company. The host claimed that the only requirement they had for emails to be passed through their system was that either the To: or the From: field contain an email address under the hosted domain name. They uploaded a test script (an ordinary PHP mail script) where the From: field was set with an address within the domain and the To: field was set to an outside email address. That script worked. I confirmed that I had the To: field in CF7 set to an email address within the appropriate domain but the form didn't function. Then I set the From: field to an email address within the domain and the form finally functioned. It appeared, therefore, that the host was incorrect about the To: field's address being within the domain being sufficient.
Into the "Form"(inside the mail menu) section you've to give the domain name of your site. And inside the message body use the short codes which will appear into the top of the mail menu.
And when you create a form field such as "name" / "email" / "phone no" etc, then give a name to them. Those name turns into a short codes like
[your-name]-Name, [your-mail]-Email(those are defaults, you can give any name according to your choice) etc, copy the short code and paste into the message body, don't write it only copy and paste.
Hope this will help you.
This suggestion depends on how your hosting provider deals with mail headers:
So, I have made all tests (javascript conflicts, etc.) and decided the problem could only be from my host. I contacted them and they told me that in email header, the "From:" SHOULD be exactly the same as the email I configured to receive the messages from my visitors.
As far as I understood, by default "Contact Form 7" uses visitor email to put it in "From:" but some host providers do not allow that.
My host provider don't even allow mail() function so I had to install WP MAIL SMTP.
So, resuming, I just added this to all my forms in "Additional headers":
From: your#domain.com
This means, you have to insert one email with same domain name as your website, otherwise your hosting might not send the email.
I lost a couple of hours with this...
Maybe is another plugin incompatible with contact form7 plugin.
Deactivate all plugin one by one and try send email.
I fixed the problem. webadmin email account was not setup. Once I setup the email account it is working fine.

Resources