Załączenie wielu plików w PHPMailer 5.0.0 – AddAttachment

W PHPMailerze w wersji 5.0.0 występuje błąd który uniemożliwia dodanie wielu załączników (metodą AddAttachment) do jednego maila.

Rozwiązanie problemu jest bardzo proste.

W pliku class.phpmailer.php odnajdujemy definicję funkcji AddAttachment:

public function AddAttachment($path, $name = '', $encoding = 'base64', $type = 'application/octet-stream')

W ciele funkcji odnajdujemy tablicę

$this->attachment[]

Ostatni element tablicy

7 => 0

zmieniamy na

7 => count($this->attachment)

Mail w PHPmailer z załączonym obrazkiem logo

Wysyłając maile ze stron, szczególnie tych firmowych, często chcielibyśmy aby zawierały elementy graficzne takie jak np. logo.

Z pomocą w takich sytuacjach przychodzi nam PHPMailer, który posiada wbudowaną metodę do załączania obrazków.

Po stworzeniu obiektu maila wystarczy wywołać funkcję AddEmbeddedImage, posiadającą następujące argumenty:

- ścieżka

- cid (identyfikator obrazka)

- nazwa pliku

Kod może wyglądać następująco:

$mail->AddEmbeddedImage('../images/logo.jpg','mojelogo','logo.jpg');

W treści maila obrazek wywołujemy następująco

<a href="http://twojawitryna.pl"><img src="cid:mojelogo" alt="" /></a>