Sample code for 30+ languages & platforms
PHP

Send Email With Attachments

See more SMTP Examples

Demonstrates how to send an email with attachments.

Chilkat PHP Downloads

Chilkat2 PHP
<?php

use Chilkat2\Email;
use Chilkat2\MailMan;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// The mailman object is used for sending (SMTP) and receiving (POP3) email.
$mailman = new MailMan();

// Set the SMTP server.
$mailman->SmtpHost = 'smtp.my-tls-mail-server.com';

// Set the SMTP login/password (if required)
$mailman->SmtpUsername = 'MY_SMTP_USERNAME';
$mailman->SmtpPassword = 'MY_SMTP_PASSWORD';

// Connect to SMTP port 465 using TLS.
$mailman->SmtpSsl = true;
$mailman->SmtpPort = 465;

// Create a new email object
$email = new Email();

$email->Subject = 'This is a test';
$email->Body = 'This is a test';
$email->From = 'Chilkat Support <support@chilkatsoft.com>';
$email->AddTo('Chilkat Admin', 'admin@chilkatsoft.com');
// To add more recipients, call AddTo, AddCC, or AddBcc once per recipient.

// Add some attachments.
// The AddFileAttachment method returns the value of the content-type it chose for the attachment.
try {
    $contentType = $email->AddFileAttachment('qa_data/jpg/starfish.jpg');

    $contentType = $email->AddFileAttachment('qa_data/pdf/fishing.pdf');

    // Call SendEmail to connect to the SMTP server and send.
    // The connection (i.e. session) to the SMTP server remains
    // open so that subsequent SendEmail calls may use the
    // same connection.
    $mailman->SendEmail($email);
} catch (\Chilkat2\Exception $e) {
    echo $e->getMessage(), "\n";
    exit;
}

try {
    $mailman->CloseSmtpConnection();
} catch (\Chilkat2\Exception $e) {
    echo "Connection to SMTP server not closed cleanly.\n";
}

echo "Mail with attachments sent!\n";