Jak wysłać wiadomość e -mail za pomocą PHP

Jak wysłać wiadomość e -mail za pomocą PHP

W przypadku dowolnej witryny wysyłanie wiadomości e -mail według skryptu PHP jest bardzo powszechnym wymogiem. Na przykład, jeśli strona internetowa zawiera jakąkolwiek opcję rejestracyjną dla użytkownika, wówczas wysyłanie użytkownika do weryfikacji e -maila wymaga wiadomości e -mail z potwierdzeniem. Możesz wysyłać e -maile za pomocą PHP, korzystając z PHP Funkcja poczty () lub dowolna biblioteka PHP. Dwie przede wszystkim używane biblioteki PHP do wysyłania wiadomości e -mail to Phpmailer i Swiftmailer. Sposób wysyłania wiadomości e -mail za pomocą Funkcja poczty () został omówiony w innym samouczku. Zastosowania Phpmailer Biblioteka do wysyłania e -maili w PHP została wykazana w tym samouczku.

Wysłanie wiadomości e -mail za pomocą phpmailer:

Phpmailer to bardzo przydatna biblioteka klas, która zawiera zbiór funkcji do wysyłania wiadomości e -mail za pomocą PHP. Możesz wysyłać e -maile na różne sposoby z serwera lokalnego za pomocą tej biblioteki. Uruchom następujące polecenie, aby zainstalować Phpmailer W systemie operacyjnym Ubuntu:

$ sudo apt-get instaluj libphp-phpmailer

Wymagania wstępne:

Musisz mieć konto Gmail, aby użyć e -maila wysyłania obiektu Phpmailer. Po zainstalowaniu Phpmailer, musisz włączyć opcję „Pozwól mniej bezpiecznym aplikacjom”Twojego konta Gmail.

Różne przykłady wysyłania wiadomości e -mail za pomocą phpmailer:

Oto następujące zastosowania Phpmailer Biblioteka, aby wysłać e -mail na różne sposoby:

Przykład 1: wysyłanie wiadomości e -mail

Poniższy skrypt pokazuje sposób wysyłania prostego wiadomości e -mail za pomocą phpmailer. Ten skrypt przypisuje cztery istotne części dowolnego e -maila (od, do tematu, ciała). setfrom i addAddress Metody są używane do ustawiania adresów e -mail nadawcy i odbiornika. Podmiot i ciało właściwości są używane do ustawienia tematu i treści wiadomości e -mail. Jeśli wiadomość e -mail zostanie wysłana poprawnie, komunikat o sukcesie zostanie wydrukowany, a jeśli wiadomość e -mail nie zostanie wysłana, komunikat o awarii zostanie wydrukowany.

Wymagaj '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Wymagaj '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// deklaruj obiekt phpmailer
$ e -mail = nowy phpmailer \ phpmailer \ phpmailer ();
// Skonfiguruj niezbędną konfigurację, aby wysłać e -mail
$ e-mail-> ISSMTP ();
$ e-mail-> smtpauth = true;
$ e-mail-> smtpsecure = 'ssl';
$ e-mail-> host = "smtp.Gmail.com ";
$ e-mail-> port = 465;
// Ustaw adres Gmail, który zostanie użyty do wysyłania wiadomości e -mail
$ e-mail-> nazwa użytkownika = "nazwa uż[email protected] ";
// Ustaw prawidłowe hasło dla adresu Gmail
$ e-mail-> hasło = "hasło";
// Ustaw adres e -mail nadawcy
$ e-mail-> setfrom ("admin@przykład.com ”);
// Ustaw adres e -mail odbiornika
$ e-mail-> addAddress ("[email protected] ”);
// Ustaw temat
$ e-mail-> tematy = "testowanie e-maila";
// Ustaw treść e -mail
$ e-mail-> body = "Hello! Użyj phpmailer, aby wysłać e -mail za pomocą php ”;
Jeśli(!$ e-mail-> send ())
Echo „Błąd:” . $ e-mail-> errorInfo;
w przeciwnym razie
e -mail echo „został wysłany.";

?>

Wyjście:

Następujące dane wyjściowe pojawią się, jeśli wiadomość e -mail została pomyślnie wysłana:


Jeśli sprawdzisz adres e -mail odbiorcy, zostanie wyświetlone następujące podobne dane wyjściowe:

Przykład 2: Wysyłanie e -maila z sformatowaną HTML

Możesz wysłać e -mail z sformatowaną przez HTML za pomocą phpmailer. Musisz użyć ishtml () z PRAWDA Wartość parametru do wysyłania e -maila z sformatowaną HTML. Tutaj inna metoda Altbody () jest używany do wysyłania treści e -mail jako zwykłego tekstu, jeśli użytkownik nie jest w stanie odbierać wiadomości e -mail z zawartością HTML.

Wymagaj '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Wymagaj '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// deklaruj obiekt phpmailer
$ e -mail = nowy phpmailer \ phpmailer \ phpmailer ();
// Skonfiguruj niezbędną konfigurację, aby wysłać e -mail
$ e-mail-> ISSMTP ();
$ e-mail-> smtpauth = true;
$ e-mail-> smtpsecure = 'ssl';
$ e-mail-> host = "smtp.Gmail.com ";
$ e-mail-> port = 465;
$ e-mail-> ishtml (true);
// Ustaw adres Gmail, który zostanie użyty do wysyłania wiadomości e -mail
$ e-mail-> nazwa użytkownika = "nazwa uż[email protected] ";
// Ustaw prawidłowe hasło dla adresu Gmail
$ e-mail-> hasło = "hasło";
// Ustaw adres e -mail nadawcy
$ e-mail-> setfrom ("admin@przykład.com ”);
// Ustaw adres e -mail odbiornika
$ e-mail-> addAddress ("[email protected] ”);
$ e-mail-> tematy = 'Wiadomość wysłana przez phpmailer';
$ e-mail-> body = '

Cześć!

Używam phpmailer do wysyłania e -maila

';;
$ e-mail-> altbody = 'Ta wiadomość jest generowana zwykłym tekstem!';;
$ e-mail-> ishtml (true);
Jeśli(!$ e-mail-> send ())
Echo „Błąd:” . $ e-mail-> errorInfo;
w przeciwnym razie
e -mail echo „został wysłany.";

?>

Wyjście:

Jeśli sprawdzisz adres e -mail odbiornika, zostanie wyświetlone następujące dane wyjściowe HTML:

Przykład 3: Wysyłanie wiadomości e -mail, załączając plik lokalny

Wiele metod jest dostępnych w Phpmailer klasa, aby wysłać załączone treści z e -mailem. Dodać załącznik() Metoda jest jedną z nich używaną w następującym skrypcie. Ta metoda ma jeden obowiązkowy parametr i trzy parametry opcjonalne.

addattachment ($ ścieżka, $ nazwa, $ kodowanie, $ type); Wymagaj '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Wymagaj '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// deklaruj obiekt phpmailer
$ e -mail = nowy phpmailer \ phpmailer \ phpmailer ();
// Skonfiguruj niezbędną konfigurację, aby wysłać e -mail
$ e-mail-> ISSMTP ();
$ e-mail-> smtpauth = true;
$ e-mail-> smtpsecure = 'ssl';
$ e-mail-> host = "smtp.Gmail.com ";
$ e-mail-> port = 465;
$ e-mail-> ishtml (true);
// Ustaw adres Gmail, który zostanie użyty do wysyłania wiadomości e -mail
$ e-mail-> nazwa użytkownika = "nazwa uż[email protected] ";
// Ustaw prawidłowe hasło dla adresu Gmail
$ e-mail-> hasło = "hasło";
// Ustaw adres e -mail nadawcy
$ e-mail-> setfrom ("admin@przykład.com ”);
// Ustaw adres e -mail odbiornika
$ e-mail-> addAddress ("[email protected] ”);
$ e-mail-> addAddress ('[email protected] ');
$ e-mail-> tematy = 'Wiadomość wysłana przez phpmailer';
$ e-mail-> body = 'hello! Użyj phpmailer, aby wysłać e -mail za pomocą php ';
$ e-mail-> addattachment („owoce.tekst');
Jeśli(!$ e-mail-> send ())
Echo „Błąd:” . $ e-mail-> errorInfo;
w przeciwnym razie
e -mail echo „został wysłany.";

?>

Wyjście:

Po sprawdzeniu adresu e -mail odbiorcy załączony plik zostanie wyświetlony, jeśli plik zostanie poprawnie dołączony do wiadomości e -mail, jak pokazano poniżej:

Przykład 4: Wysłanie wiadomości e -mail, załączając zdalny plik

Jeśli chcesz dołączyć zawartość ze zdalnej lokalizacji, możesz użyć addStringattachment () metoda tego celu. Ta metoda ma dwa parametry. Pierwszy parametr służy do uzyskania zawartości z określonej lokalizacji URL, a drugi parametr służy do ustawienia nazwy załączonego pliku.

addStringAttachment (file_get_contents ($ url), „nazwa pliku.pdf ');

W poniższym skrypcie adres URL pliku obrazu został ustawiony w pierwszym parametrze i „mój plik.jpg”Został ustawiony w drugim parametrze tej metody, aby ustawić nazwę załączonego pliku.

Wymagaj '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Wymagaj '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// deklaruj obiekt phpmailer
$ e -mail = nowy phpmailer \ phpmailer \ phpmailer ();
// Skonfiguruj niezbędną konfigurację, aby wysłać e -mail
$ e-mail-> ISSMTP ();
$ e-mail-> smtpauth = true;
$ e-mail-> smtpsecure = 'ssl';
$ e-mail-> host = "smtp.Gmail.com ";
$ e-mail-> port = 465;
$ e-mail-> ishtml (true);
// Ustaw adres Gmail, który zostanie użyty do wysyłania wiadomości e -mail
$ e-mail-> nazwa użytkownika = "nazwa uż[email protected] ";
// Ustaw prawidłowe hasło dla adresu Gmail
$ e-mail-> hasło = "hasło";
// Ustaw adres e -mail nadawcy
$ e-mail-> setfrom ("admin@przykład.com ”);
// Ustaw adres e -mail odbiornika
$ e-mail-> addAddress ("[email protected] ”);
$ e-mail-> addAddress ('[email protected] ');
$ e-mail-> tematy = 'Wiadomość wysłana przez phpmailer';
$ e-mail-> body = 'hello! Użyj phpmailer, aby wysłać e -mail za pomocą php ';
$ e-mail-> addStringAttachment (file_get_contents ('http: // localhost/phpcode/flower.jpg '), „myfile.jpg ');
Jeśli(!$ e-mail-> send ())
Echo „Błąd:” . $ e-mail-> errorInfo;
w przeciwnym razie
e -mail echo „został wysłany.";

?>

Wyjście:

Po sprawdzeniu adresu e -mail odbiorcy załączony plik zostanie wyświetlony, jeśli plik zostanie poprawnie dołączony do wiadomości e -mail, jak pokazano poniżej:

Przykład 5: Wysyłanie wiadomości e -mail z wiadomościami debugowania

Właściwość SMTPDEBUG klasy PhPmailer jest używana do włączenia opcji debugowania przed wysłaniem wiadomości e -mail. Po wykonaniu skryptu wartość tej właściwości została ustawiona na 1 w tym skrypcie, aby wyświetlić komunikat debugowania.

Wymagaj '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Wymagaj '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// deklaruj obiekt phpmailer
$ e -mail = nowy phpmailer \ phpmailer \ phpmailer ();
// Włącz wyjście debugowania
$ e-mail-> smtpdebug = 1;
// Skonfiguruj niezbędną konfigurację, aby wysłać e -mail
$ e-mail-> ISSMTP ();
$ e-mail-> smtpauth = true;
$ e-mail-> smtpsecure = 'ssl';
$ e-mail-> host = "smtp.Gmail.com ";
$ e-mail-> port = 465;
// Ustaw adres Gmail, który zostanie użyty do wysyłania wiadomości e -mail
$ e-mail-> nazwa użytkownika = "nazwa uż[email protected] ";
// Ustaw prawidłowe hasło dla adresu Gmail
$ e-mail-> hasło = "hasło";
// Ustaw adres e -mail nadawcy
$ e-mail-> setfrom ("admin@przykład.com ”);
// Ustaw adres e -mail odbiornika
$ e-mail-> addAddress ("[email protected] ”);
// Ustaw temat
$ e-mail-> tematy = "testowanie e-maila";
// Ustaw treść e -mail
$ e-mail-> body = "Hello! Użyj phpmailer, aby wysłać e -mail za pomocą php ”;
Jeśli(!$ e-mail-> send ())
Echo „Błąd:” . $ e-mail-> errorInfo;
w przeciwnym razie
e -mail echo „został wysłany.";

?>

Przykład 6: Wysłanie wiadomości e -mail na wiele adresów

Sposób wysyłania wiadomości e -mail na wiele adresów e -mail za pomocą phpmailer został pokazany w następującym skrypcie. addCC () i addbcc () Metody tej klasy zostały użyte do wysyłania wiadomości e -mail do wielu odbiorników jednocześnie.

Wymagaj '/usr/share/php/libphp-phpmailer/src/phpmailer.php ';
Wymagaj '/usr/share/php/libphp-phpmailer/src/smtp.php ';
// deklaruj obiekt phpmailer
$ e -mail = nowy phpmailer \ phpmailer \ phpmailer ();
// Skonfiguruj niezbędną konfigurację, aby wysłać e -mail
$ e-mail-> ISSMTP ();
$ e-mail-> smtpauth = true;
$ e-mail-> smtpsecure = 'ssl';
$ e-mail-> host = "smtp.Gmail.com ";
$ e-mail-> port = 465;
// Ustaw adres Gmail, który zostanie użyty do wysyłania wiadomości e -mail
$ e-mail-> nazwa użytkownika = "nazwa uż[email protected] ";
// Ustaw prawidłowe hasło dla adresu Gmail
$ e-mail-> hasło = "hasło";
// Ustaw adres e -mail nadawcy
$ e-mail-> setfrom ("admin@przykład.com ”);
// Ustaw adresy e -mail odbiornika
$ e-mail-> addAddress ('[email protected] ', „Jafar iqbal”);
$ e-mail-> addAddress ('user1@przykład.com ');
$ e-mail-> addRePlyTo ('user2@przykład.com ');
$ e-mail-> addCC ('user3@przykład.com ');
$ e-mail-> addBCC ('user4@przykład.com ');
// Ustaw temat
$ e-mail-> tematy = "testowanie e-maila";
// Ustaw treść e -mail
$ e-mail-> body = "Hello! Użyj phpmailer, aby wysłać e -mail za pomocą php ”;
Jeśli(!$ e-mail-> send ())
Echo „Błąd:” . $ e-mail-> errorInfo;
w przeciwnym razie
e -mail echo „został wysłany.";

?>

Wyjście:

Jeśli sprawdzisz adres e -mail odbiorcy, zostaną wyświetlone następujące informacje:

Wniosek:

Większość opcji wysyłania e -maila za pomocą biblioteki phpmailer została omówiona w tym samouczku. Dostarczono także kilka przykładów, aby pomóc użytkownikom PHP w poznanym procesie wysyłania wiadomości e -mail za pomocą tej biblioteki na różne sposoby. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły z Linux, aby uzyskać więcej wskazówek i informacji.