Sending Email via a SMTP server - php

I am developing a system, in which - I have a database of email addresses of a specific type of companies. There are near 10 lac addresses in this database. In this system I want to send a message to all these addresses by one click. I am using PHPMailer. I am using Yahoo SMTP for sending email. But when I send email to some numbers of addresses, it block my yahoo email account. I think, yahoo SMTP server dose not support this kind of sending email process. So, Is there any SMTP server that support this kind of sending email process?

Assuming that "10 lac addresses" means "1,000,000 addresses", you are very likely to run issues with any free email service providers. Any reasonable email service will limit the number of emails relayed to prevent spamming and general abusing of the service.
You can either set up your own SMTP server (Postfix, Exim, etc. just to name a few free alternatives -- they may even run on your web server) or better yet, use a third-party commercial transactional email service which take care of email delivery. If your budget allows, I recommend the second option.

to send the email to one million email addresses you need some commercial mail service as no email service provider will provide that much free mail. Its better you to buy some comercial mail service like chipmonkey, emailmarketing and few others

Related

Authentication in email forwarding between SMTP servers

I am writing a Mail Relay Server in PHP for Newsletter mailings.
This server encodes all links in the e-mails so that they point to an accompanying website for tracking (click count only) and redirecting.
This Mail Relay Server will run as a service for multiple customers sending Newsletters.
Each customer has it's own credentials for the Mail Relay Server.
The newsletters may go to a great amount of recipients.
As of this, I can't forward all mails through my own mail account (would bring my webhoster on the blacklist).
This is why I thought of forwarding them to the recipients' mail server myself, using the techniques used in e-mail forwarding all around the world.
My question now is: Is there a way to forward e-mails from an own SMTP server to another, for which I don't have a mail account and cannot send credentials?
Thanks in advance for any help and clarification on this.

Can we do email tracking when sending email via smtp using php zend framework

Currently I'm using mailgun to send email, but planing to send email using smtp in zend framework php.
My main concern are:
Need to track the emails against open and click by recipients.
how can we send the emails in batch like for marketing emails or bulk emails?
is there any limit like only x numbers of emails can be sent using one Smtp authenticated configuration?
do we need to have user based SMTP settings to send email from those users or is it possible to have one common SMTP settings base same email domain for all the users to sent email from our application?
Mailgun have functionality for track your messages, more information you can find here. If you want to have your own mail server for sending your emails I don't have idea how to track messages unfortunately
I think best way to send bulk email messages is queue implementation. You can implement own queue or use something ready. Mails should be send by cron job to avoid blocking main connecting thread
Yes, mailgun has limits: Mailgun Pricing Page but if you wan't to send mails by your own server there are no limits.
You can have one account to send emails, it's not a problem

Should SMTP be used for contact forms?

I understand SMTP is often used to send mail to client addresses, because the host may be considered spam and blocked. In this case, suppose I have a website with a few contact forms, that sends an email to the administrator's email account (eg. gmail). Because the email is sent to the admin, does SMTP have any benefits in reliability or security? Additionally, if the host sends email directly, does the host server need an 'email account'?
There is nothing particularly wrong with this approach. Many large frameworks and CMS systems use email as a way of contacting the admins for internal messages (software updates needed) or for contact form submissions from users.
If your framework has built-in API calls for transactional mailers, check those out - eg: Laravel recommends a couple of mail providers that already have API calls baked into the framework.
If you are using pure PHP, I can strongly recommend the excellent PHPMailer library over the built-in mail() function - PHPMailer is far easier to set up for SMTP.
The admin will need an account to send mail from, but if this is purely for site -> admin communication you can use the same gmail account for both the sending and receiving.
Note about gmail:
If you are going to use a gmail account to send, the account needs to have access for less secure apps enabled. You will also need to ensure that you don't annoy the Google admins with the volume of mail. Things like spam detection can be ignored since all the mail is going to one account and that account can simply whitelist the sending address.
Note about SMTP:
SMTP is generally secure enough for this sort of thing, as long as you use SMTP over SSL/TLS. Do not send mail to an SMTP server unencrypted as the password will also travel unencrypted and your account will be hacked quickly. Do not use port 25.

WordPress is not sending emails from Gmail or Yahoo accounts

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.

Codeigniter emails not being received by gmail

I have an app where i'm sending emails on certain events, but when i used my gmail account, i never receive the emails and they are not in my spam folder. When i send them to my work email, i receive them instantaneously.
What do i need to do to get the emails through to google?
I'm using the standard codeigniter email configs (which i think uses sendmail).
I'm using google apps for business and i have the MX records setup that google provides.
Do i need anything else? Also, i'm using subdomains in my app, does that affect what i may need to setup?
EDIT
When i use smtp like this example Sending email with gmail smtp with codeigniter email library, the page never seems to come back. It eventually just timesout.
The only plausible explanation for this behaviour is a SPF Check failure. SPF or Sender Policy Framework is a new technology that allows easy detection of spam. Gmail honours SPF unless you manually mark those emails as not spam. Regardless of this, if you have received emails on another address then they must have reached Gmail too. Check your spam thoroughly, as Gmail does not discard emails even on very high spam suspicion rather they end up in the Spam folder.
You can set up a SPF that allows your webserver to send emails which will result in Gmail accepting emails sent by your webserver as authentic. See http://www.mydigitallife.info/how-to-set-up-and-create-sender-policy-framework-spf-domain-dns-txt-record-with-wizard/ and a wizard from Microsoft.
You will probably see, that at some point in the future, you'll get them all appearing in Gmail. Google is most likely seeing if the sender is spam, and holding those messages. I've experienced that before setting up dev servers. I would suggest using a transactional email service, like Mandrill or SendGrid. You'll find you get a lot of info from those services that you forgo if you simply send an email through PHP.
The Filter Theory The other possibility is that the poster has a filter set up on their GMail account that is filtering out the emails.
I would make sure that you are sending the required header information as well. Have you tried registering a new gmail account and sending it to that user?

Categories