Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should I use php mail function or phpmailer?

Well, so far, I have been using php built in function, mail(), and I have no problems with it, even I sent a blast to 1000+ users. But then, lately I found this phpmailer, which is specially design to send email.

Q1: Should I change to this phpmailer?

Q2: What are the advantages of using phpmailer?

Q3: I found other products on phpmailer website, i.e phpmailer FE, ML etc. What are those? Which one you guys is using?

Q4: Have anyone tried sending blast email to 2000+ users with phpmailer? If yes, does it cause any problems?

like image 457
bbtang Avatar asked Aug 05 '09 08:08

bbtang


People also ask

Why it is advantages to use PHPMailer for sending and receiving email?

PHPMailer can use a non-local mail server (SMTP) if you have authentication. Further advantages include: It can print various kinds of error messages in more than 40 languages when it fails to send an email. It has integrated SMTP protocol support and authentication over SSL and TLS.

Is it safe to use PHPMailer?

PHPMailer doesn't create/use any SQL itself, nor does it have anything to do with javascript, so it's secure on those fronts. It is often used alongside code that does both, but that's not PHPMailer's concern.

What is PHPMailer used for?

PHPMailer is a code library and used to send emails safely and easily via PHP code from a web server. Sending emails directly via PHP code requires a high-level familiarity to SMTP standard protocol and related issues and vulnerabilities about Email injection for spamming.

Does PHP mail require SMTP?

PHP mail() does not usually allow you to use the external SMTP server and it does not support SMTP authentication. Here's what you can do with PHP's built-in mail function(): create simple HTML/text messages without attachments and images.


1 Answers

Q1: You should definitely switch away from using mail()

Q2: mail() function is really, really for simple stuff. Mail libraries hide a lot of low level stuff from the user, and offer simple ways to make HTML emails, embedded images in mail, etc.

Instead of phpmailer I'd recommend SwiftMailer

  • Send emails using SMTP, sendmail, postfix or a custom Transport implementation of your own
  • Support servers that require username & password and/or encryption
  • Protect from header injection attacks without stripping request data content
  • Send MIME compliant HTML/multipart emails
  • Use event-driven plugins to customize the library
  • Handle large attachments and inline/embedded images with low memory use

I've used SwiftMailer to send 15000+ mails, but as you'll find in SwiftMailer documentation, its recommended to send mails in smaller batches (depends on you server ex. 100, 200, 500 per batch), using cron.

like image 98
Željko Živković Avatar answered Oct 10 '22 01:10

Željko Živković