is there any possibility to check with the ActionMailer mail function if a mail-address is still alive?
My problem is that I have a ruby on rails application with lots of users, but some of those changed their mail address and now I got lots of mails back. It would be cool If I can check if the mail is still present, and if not I delete the user from Database.
Any Ideas for this problem?
If you're sending mail and it fails, you can view those if you've configured
raise_delivery_errors = true
That would go in your config/environment/development or production.rb
Sadly though, with raise_delivery_errors there's a gotcha:
This only works if the external email server is configured
for immediate delivery.
If you have the option to use something like mailchimp, sendgrid, etc it handles most of this for you - it won't send to bogus emails, it silences them on future mailings and is just a convenient way to manage your email clickthroughs, etc. Some email services give you a webhook that says "this email bounced" which you can then do something with in your app/database. Or more primitively, you can download a csv periodically from their portal and update the database.
Related
I'm trying to send email from my app, emails seem to be going to mandrill correctly and there getting delivered, but I see nothing in my inbox.
I've even tried sending them through my domain and I'm still not getting them. I get them from my live website its using gmail but I want to switch
Using mxtoolbox.com I found
SMTP Reverse DNS Mismatch and
454 4.7.1 Relay access denied which could mean its been marked for spam?
It's sent through emails twice so I'm wondering if theres a time between emails sent or something.
When I was testing this I thought my emails where being dropped by gmail. I found that for some reason there was a very long lag going from Mandril to Gmail. I received all my tests about an hour after Mandril sent them. Hope this helps someone stuck like I was.
Found this question trying to diagnose my issue.
I am using Mandrill and found that sending emails from Mandrill to Gmail will take anywhere from 10 seconds to 15 minutes. Can't establish a reason why sometimes it takes longer.
Mandrill blocks certain domains from being the send address to prevent fraud, but as long as you're sending from an address you know exists to an address you know exists, you should be fine. Also, if that were the problem, the email would bounce rather than send. Also, some email services have policies that prevent you from doing things like sending an email to your address from your address from an external service. Based on that error message you provided, it could be something like that; I would check your provider's policies (and your spam folder).
Not an answer but if you look on your mandrill Outbound activity page and click on the green icon that says Delivered you should see that it says No smtp events.
I don't know why it doesn't send but this show that it hasn't sent.
Or should I say hasn't arrived where it was supposed to.
Update:
On further investigation I found out that the emails weren't sending because I was using my personal email address as the sender from_email: When I changed this to a more business sounding email address it worked. So make something up if you have to, like no-reply#nonsense.com
I am using sendgrid on my Rails app that I am beginning to build.
I am in test mode, mostly doing local stuff but I send many emails to check my process or email layout.
The email I use to receive the emails is on Gmail. I fear Gmail will see there are many emails everyday and never an answer and maybe that the CSS changes a lot, and maybe other factors gmail take into account to assess the trust level of an IP sending emails...
Do I risk Gmail to decrease the trust level of my sendgrid IP? (I don't have much choice during test mode I think)?
What could I do to avoid the IP trust getting hit?
You could use mailtrap to avoid polluting true email addresses. You may check emails sent from their web interface or manually forward them to your inbox.
You could use mailcatcher to catch and view your emails sent from localhost.
MailCatcher runs a super simple SMTP server which catches any message
sent to it to display in a web interface. Run mailcatcher, set your
favourite app to deliver to smtp://127.0.0.1:1025 instead of your
default SMTP server, then check out http://127.0.0.1:1080 to see the
mail that's arrived so far.
In order for you to use it:
gem install mailcatcher
mailcatcher
Go to http://localhost:1080/
i have a problem with mail sending: magento doesn't send any mail, i'm trying to use the sendfriend functionality (i've extendend the ProductController of that Sendfriend module), but the problem is about any email (i've tried to do a registration or to change a password, but no email was sent). backend settings seems to be ok:
System->Configuration->system->Mail sending settings->disable Email Communications->No;
System->Configuration->system->Mail sending settings->Host ->locahost;
with the same settings on another local magento installation the system send emails correctly. what can i check?
you don't need to do any coding stuff. Its already available in Magento. You just need to enable the option of Email to a friend from the back-end. Hope this help you.
I'm testing several user accounts and don't want to setup different emails to test with. All I need to know is if the email has been sent from my app successfully.
Is there a way to setup a fake email inbox to check that email messages are being sent in Ruby on Rails?
Set up MailCatcher:
MailCatcher runs a super simple SMTP server which catches any message sent to it to display in a web interface. Run mailcatcher, set your favourite app to deliver to smtp://127.0.0.1:1025 instead of your default SMTP server, then check out http://127.0.0.1:1080 to see the mail that's arrived so far.
This does several useful things for you:
Not only can you see that email is being sent but you can look at the email (text and HTML parts) as well.
You won't have to worry about spamming anyone as all the email your application sends goes straight to MailCatcher.
You won't have to worry about setting up a bunch of real email accounts anywhere, MailCatcher doesn't care what the addresses are, it just grabs the email and shows it to you.
Most importantly, your application doesn't have to change to use it, you just set up the appropriate SMTP values and away you go. This means that you're not running different code paths for your email handling in development, testing, and production and that means fewer bugs and late night disaster calls.
During development and testing, emails are also shown on the console. That has always been enough for me – I don't doubt rails' ability to actually send it once it's in production.
When using 'mail' command to send email to a gmail user, the email goes through fine. When sending an email using a Rails app, the email is sent to the spam folder for the gmail user. Can someone help me think through this?
Emails landing in SPAM can happen due to many reasons:
Wrong Mail Server setup: Checkout here on how to setup
Email content: Content of the email can also invite SPAM. Sites like SpamCheck helps to check whether the content of the email is ok.
As mentioned by #Noli above, using services like Sendgrid, Critsend etc for sending out emails, chances of landing them in Inbox will be more. You can use them as relay servers from Postfix. But the first two steps are anyway necessary.
Use Mailchimp if you want to sent emails to many people, for eg: for sending out newsletters, marketing emails etc.
Mail deliverabillty is extraordinarily hard to get right. You should consider leaving this to the specialists like Sendgrid or Mailchimp, and not spend tooooo much development time thinking about it
Another thing to check is that if this is a new server, you may need to set up Domain Keys to authenticate to Gmail. This happend to me and I was able to get my mail removed from the spam folder by following these:
https://help.ubuntu.com/community/Postfix/DomainKeys
https://help.ubuntu.com/community/Postfix/DKIM