Cum se instalează și se folosește PHPMailer

Cum se instalează și se folosește PHPMailer

PHPMailer este o bibliotecă populară pentru trimiterea de e-mailuri prin PHP. Oferă o interfață simplă pentru trimiterea e-mailurilor prin SMTP și suportă funcționalități avansate, cum ar fi atașamentele și autentificarea.


Funcționalități oferite de PHPMailer:

  • Suport SMTP avansat:

    • Trimitere e-mailuri prin servere SMTP cu autentificare și criptare (SSL/TLS).
    • Suport pentru mai multe tipuri de criptare (SSL, TLS).
    • Configurare avansată a setărilor SMTP (timeout, debug, etc.).
  • Formatare flexibilă:

    • Trimitere e-mailuri în format HTML sau text simplu.
    • Adăugarea de stiluri și imagini inline în e-mailuri.
  • Gestionarea atașamentelor:

    • Suport pentru atașamente multiple, inclusiv atașamente mari.
    • Posibilitatea de a seta atașamente inline (pentru imagini în emailuri HTML).
  • Mai mulți destinatari:

    • Suport pentru destinatari multipli (To, CC, BCC).
    • Gestionarea ușoară a grupurilor de destinatari.
  • Compatibilitate:

    • Suportă UTF-8 și alte encodări pentru caractere speciale.
    • Este compatibil cu majoritatea serverelor de e-mail (Gmail, Outlook, Yahoo, etc.).
  • Debugging ușor:

    • Opțiuni de debug integrate pentru a diagnostica problemele de conexiune și trimitere.
  • Simplu de utilizat:

    • API ușor de folosit, ceea ce îl face ideal pentru începători și experți.

Instalare manuală direct din terminalul serverului

  1. Log into your server via SSH.
  2. Make sure you're in your user's home directory.
    [server]$ cd ~
  3. Download the zip file from GitHub.com.
    [server]$ wget https://github.com/PHPMailer/PHPMailer/archive/master.zip
  4. Unzip the file.
    [server]$ unzip master.zip
    This creates a directory named PHPMailer-master.
  5. Rename this directory.
    [server]$ mv PHPMailer-master PHPMailer

Cod de test (send_email.php)


<?php
// Import PHPMailer classes into the global namespace
// These must be at the top of your script, not inside a function
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require '/home/username/PHPMailer/src/Exception.php';
require '/home/username/PHPMailer/src/PHPMailer.php';
require '/home/username/PHPMailer/src/SMTP.php';

$mail = new PHPMailer(true);                              // Passing `true` enables exceptions
try {
    //Server settings
    $mail->SMTPDebug = 2;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'smtp.dreamhost.com';                  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'contact@example.com';             // SMTP username
    $mail->Password = 'secret';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            
    $mail->Port = 587;                                    //  port to connect to

    //Recipients
    $mail->setFrom('contact@example.com', 'Mailer');          //This is the email your form sends From
    $mail->addAddress('recipient@dreamhost.com', 'Joe User'); // Add a recipient address
    //$mail->addAddress('contact@example.com');               // Name is optional
    //$mail->addReplyTo('info@example.com', 'Information');
    //$mail->addCC('cc@example.com');
    //$mail->addBCC('bcc@example.com');

    //Attachments
    //$mail->addAttachment('/var/tmp/file.tar.gz');         // Add attachments
    //$mail->addAttachment('/tmp/image.jpg', 'new.jpg');    // Optional name

    //Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Subject line goes here';
    $mail->Body    = 'Body text goes here';
    //$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

    $mail->send();
    echo 'Message has been sent';
} catch (Exception $e) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
}
?> 

Testare

  • Asigură-te că ai configurat datele corect (adresa de e-mail, parola, serverul SMTP).
  • Rulează fișierul send_email.php în browser sau din linia de comandă:
    • php send_email.php

Documentație

Susține acest blog

 Dacă cumperi folosind linkurile care duc la emag.ro si aliexpress.com vei susține blogul meu, iar 50% din donații se vor direcționa pentru fundația dăruiește viată. Mulțumesc ! 

Mulțumesc pentru atenție! 

Pentru întrebări și/sau consultanță tehnică vă stau la dispoziție pe blog mai jos în secțiunea de comentarii sau pe email simedruflorin@automatic-house.ro.
O zi plăcută tuturor !
Back to top of page

Etichete

Afișați mai multe

Arhiva

Afișați mai multe