Search code examples
phpphpmailer

PHPMailer attachment, doing it without a physical file


So:

// Setup mail class, recipients and body
$mailer->AddAttachment('/home/mywebsite/public_html/file.zip', 'file.zip');
The AddAttachment function has four arguments:

AddAttachment(PATH_TO_FILE, FILENAME, ENCODING, HEADER_TYPE)

I used to use xmail() and when I added a attachment here, I passed the filename and the content, that should be in it.

Like this:

$xmail->addAttachment('myamazingfile.pdf', $content);

How can I make it work the same way, so when i call AddAttachment() from the PHPmailer class, I can either pass the same or something like it, so I dont need to have a actual file on my server to send?


Solution

  • AddStringAttachment($string,$filename,$encoding,$type)
    

    eg

    $mail = new PHPMailer();
    $mail->AddStringAttachment($string,$filename,$encoding,$type);
    

    https://phpmailer.github.io/PHPMailer/classes/PHPMailer-PHPMailer-PHPMailer.html#method_addStringAttachment