You can send email with PHP Mailer with attachment and MIME type, with help of following libraries
1)PHP Mailer
you can download latest version from github
Example:
php require 'class.phpmailer.php'; $mail = new PHPMailer; $mail->IsSMTP(); // Set mailer to use SMTP $mail->Host = 'smtp1.example.com;smtp2.example.com'; // Specify main and backup server $mail->SMTPAuth = true; // Enable SMTP authentication $mail->Username = 'jswan'; // SMTP username $mail->Password = 'secret'; // SMTP password $mail->SMTPSecure = 'tls'; // Enable encryption, 'ssl' also accepted $mail->From = 'from@example.com'; $mail->FromName = 'Mailer'; $mail->AddAddress('josh@example.net', 'Josh Adams'); // Add a recipient $mail->AddAddress('ellen@example.com'); // Name is optional $mail->AddReplyTo('info@example.com', 'Information'); $mail->AddCC('cc@example.com'); $mail->AddBCC('bcc@example.com'); $mail->WordWrap = 50; // Set word wrap to 50 characters $mail->AddAttachment('/var/tmp/file.tar.gz'); // Add attachments $mail->AddAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name $mail->IsHTML(true); // Set email format to HTML $mail->Subject = 'Here is the subject'; $mail->Body = 'This is the HTML message body in bold!'; $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; if(!$mail->Send()) { echo 'Message could not be sent.'; echo 'Mailer Error: ' . $mail->ErrorInfo; exit; } echo 'Message has been sent';?>
You can also send Emails with SwiftMailer
Example:
php require_once 'swift/lib/swift_required.php'; $smtp = Swift_SmtpTransport::newInstance('smtp.host.tld', 25) ->setUsername(' ... ') ->setPassword(' ... '); $mailer = Swift_Mailer::newInstance($smtp); $message = Swift_Message::newInstance('Your subject'); $message ->setTo(array( 'user1@example.org', 'user2@example.org' => 'User Two', 'user3@exmaple.org' => 'Another User Name' )) ->setFrom(array('your@address.com' => 'Your Name')) ->attach(Swift_Attachment::fromPath('/path/to/doc1.pdf')) ->attach(Swift_Attachment::fromPath('/path/to/doc2.pdf')) ->setBody( $message->embed(Swift_Image::fromPath('/path/to/image.jpg')) . '" />', 'text/html' ) ->addPart('This is the alternative part', 'text/plain') ; if ($mailer->send($message)) { echo "Message sent!"; } else { echo "Message could not be sent."; }