I am trying to build an application that needs to send out a lot of emails with following requirements.
- The application should be able to send emails on daily basis(to be specific, 20-30 mails on average but at times the number may reach 60 at max). I cannot add all recipients to BCC and send a single mail as the message body of each recipient is different.
- The emails need to be secure, i.e., network security.
When testing using Google's SMTP server, I tried testing with 30 mails by enabling TLS and everything seems to be working fine. I did the testing using the following code.
SmtpClient client = new SmtpClient("smtp.gmail.com", 587);
client.EnableSsl = true;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential("username", "password");
client.Send(msg);
However I have a few queries.
- The email sending limit of Google's SMTP server is 100. I am using port 587. In another article it is mentioned to use port 465. Is there any significance of the port. If so, then which port should I use if I have to keep the daily sending limit in mind?
- I also need to ensure that the email sent is secure and no 3rd party is able to eavesdrop. Is SMTP over TLS enough?
- What are the pros/cons of using an ESP like Mandrill? Do they ensure network security?