Send Mail Attachments with PHP Mail()

In Send Mail Attachments with PHP Mail(), PHP mail() function is widely used for sending emails without using any external mail library, for example, PHPMailer.

Here we use only PHP mail() function for PHP Sendmail. We create a PHP mailing system step by step.


Send Mail Attachments with PHP Mail() Demo

Mail send with attachments in PHP step by step:

  • First, we create a simple HTML form with form attribute enctype="multipart/form-data"
  • Creating some HTML input box, textarea and for attachment input type="file"
  • Then we start with PHP code to send email with attachment.

Creating HTML Form

On the above form enctype="multipart/form-data", this attribute is important for sending attachment.

PHP code to send email with attachment

  • First, we post all the data from the HTML Form using $_POST function.
  • Also, post the attachment using name attribute of that field.
  • For uploading file input type must have type="file"
  • Checking allowed an extension on below code,
  • If the file has satisfy allowed an extensions then go to next step,

On the above PHP code, we create mail headers for sending PHP mail attachment.

Send Mail attachments with PHP code (Complete Source code)

Please comment below if any issue. Here is the complete source with live view for Send Mail Attachments with PHP Mail() function.

Also check officially on PHP

Happy Coding..!

Subscribe For Latest Updates

Sign up to best of PHP Code Solutions, informed analysis and opinions on what matters to you.
Invalid email address
We promise not to spam you. You can unsubscribe at any time.


My name is Bikash Kr. Panda. I own and operate PHPCODER.TECH, my native place in Odisha. I am a Web Programmer by profession and working on more than 50 projects to date. My passion is working on the web-based project using PHP and relate to all CMS and frameworks which is based on PHP.

12 thoughts to “Send Mail Attachments with PHP Mail()”

Leave a Reply

Your email address will not be published. Required fields are marked *