php

Użycie funkcji mail() w PHP na Ubuntu

Użycie funkcji mail() w PHP na Ubuntu

Funkcja mail() jest wbudowaną funkcją PHP, która służy do wysyłania wiadomości e-mail z lokalnego hosta. Jednak niektóre konfiguracje są wymagane do wysyłania wiadomości e-mail za pomocą tej funkcji. Będziesz potrzebować prawdziwych informacji o serwerze pocztowym, aby skonfigurować konfigurację. Możesz użyć informacji o serwerze pocztowym swojego aktywnego serwera hostingowego lub możesz użyć dowolnych bezpłatnych informacji o serwerze pocztowym. Konto Gmail i informacje o serwerze SMTP Gmaila są używane w tym samouczku do wysyłania wiadomości e-mail za pomocą funkcji mail().

Konfiguracja konfiguracji

W celu skonfigurowania konfiguracji wymagane będą dwa pliki: php.inicja plik i inny plik jest wymagany do skonfigurowania w celu skonfigurowania serwera pocztowego. Postępuj zgodnie z poniższymi krokami, aby skonfigurować konfigurację. Wiele pakietów jest dostępnych w PHP do wysyłania e-maili. msmtp jest klientem serwera poczty PHP używanym w tym samouczku do wysyłania wiadomości e-mail za pomocą funkcji PHP mail().

Kroki:

Uruchom następujące polecenie, aby zainstalować msmtp pakiet na Ubuntu, aby skonfigurować serwer pocztowy:

$ sudo apt-get install msmtp

Utwórz plik konfiguracyjny o nazwie /etc/msmtprc za pomocą następującego polecenia:

$ sudo nano /etc/msmtprc

Dodaj następującą zawartość do pliku. Dodaj prawidłowy adres e-mail dla użytkownik i ważne hasło dla hasło który zostanie użyty do wysłania e-maila. Ustaw adres e-mail nadawcy dla Formularz wartość.

domyślne
to włączone
tls_starttls włączone
tls_trust_file /etc/ssl/certs/ca-certificates.crt
domyślne konto
hosta.gmail.com
port 587
autoryzacja na
nazwa uż[email protected]
hasło hasło_użytkownika
od sender_email_address

Uruchom następujące polecenia, aby ustawić własność i uprawnienia dla /etc/msmtprc plik:

$ sudo chown fahmida /etc/msmtprc
$ sudo chmod 0600 /etc/msmtprc

Otworzyć php.inicja plik i zmodyfikuj następującą zawartość, wprowadzając następujące wartości:

SMTP=smtp.gmail.com
port_smtp=587
sendmail_path = "/usr/bin/msmtp -t -i"

Składnia:

bool mail (ciąg $do, ciąg $temat, ciąg $wiadomość [, mieszane $dodatkowe_nagłówki [, ciąg $parametry_dodatkowe ]])

Ta funkcja może przyjmować cztery argumenty. Pierwszy argument przyjmuje adres e-mail odbiorcy. Drugi argument przyjmuje temat wiadomości e-mail. Trzeci argument zajmuje treść wiadomości e-mail. Ostatni argument jest opcjonalny i zawiera dodatkowe informacje o wiadomości e-mail w postaci ciągu lub tablicy.

Wysyłanie wiadomości e-mail za pomocą funkcji mail()

Różne przykłady wysyłania wiadomości e-mail przy użyciu funkcji mail() PHP są pokazane w tej sekcji samouczka.

Przykład 1: Wyślij prosty tekstowy e-mail

Ten przykład pokazuje, jak można wysłać prosty tekstowy e-mail za pomocą funkcji mail(). Utwórz plik PHP za pomocą następującego skryptu.

Musisz ustawić poprawny adres e-mail dla $do zmienna, aby uzyskać dane wyjściowe następującego skryptu. Prosty tekst jest ustawiany jako treść wiadomości.

//Ustaw adres e-mail odbiorcy
$to = "[email chroniony]";
//Ustaw temat e-maila
$subject = "To jest testowy email";
//Ustaw treść wiadomości e-mail
$message = "Testuje treść wiadomości e-mail";
//Ustaw informacje nagłówka
$headers = "Od: [email chroniony]\r\n";
$nagłówki .= "Odpowiedz do: [email chroniony]\r\n";
//Wyślij e-mail za pomocą funkcji wiadomości mail()
if(poczta($do,$temat,$wiadomość,$nagłówki))

echo "E-mail został wysłany pomyślnie.\r\n";

jeszcze
echo "E-mail nie został wysłany.
";

?>

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu z serwera WWW, jeśli funkcja mail() działa poprawnie.


Następujące dane wyjściowe pojawią się, jeśli sprawdzisz skrzynkę odbiorczą adresu e-mail, który został ustawiony jako adres e-mail odbiorcy.

Przykład 2: Wyślij e-mail w formacie HTML

Ten przykład pokazuje, jak można wysłać wiadomość e-mail w formacie HTML za pomocą funkcji mail(). Utwórz plik PHP za pomocą następującego skryptu.

$wiadomość zmienna jest inicjowana treścią HTML, która zostanie wysłana jako treść wiadomości e-mail. Jest to wspomniane w $nagłówek zmienna, że ​​treść e-maila to HTML.

//Ustaw adres e-mail odbiorcy
$to = "[email chroniony]";
//Ustaw temat e-maila
$subject = 'Rejestracja powiodła się';
//Ustaw treść wiadomości e-mail
$wiadomość = '

Twoja rejestracja została zakończona pomyślnie.


nazwa użytkownika = fahmida20

hasło = aswQ34ghqw


';
//Ustaw powrót karetki
$nl = "\r\n";
//Ustaw nagłówek Content-type
$headers = 'Wersja MIME: 1.0'.$nl;
$nagłówki .= 'Typ treści: text/html; zestaw znaków=izo-8859-1'.$nl;
//Ustaw dodatkowe informacje o nagłówkach
$nagłówki .= 'Do: Mehrab Hossain'.$nl;
$nagłówki .= 'Od: Administrator '.$nl;
$nagłówki .= 'DW: [e-mail chroniony]'.$nl;
//Wyślij e-mail za pomocą funkcji wiadomości mail()
if(poczta($do,$temat,$wiadomość,$nagłówki))
echo "E-mail został pomyślnie wysłany.\r\n";

jeszcze
echo "E-mail nie został wysłany. \r\n";

?>

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu z serwera WWW, jeśli funkcja mail() działa poprawnie.


Następujące dane wyjściowe pojawią się, jeśli sprawdzisz skrzynkę odbiorczą adresu e-mail, który został ustawiony jako adres e-mail odbiorcy.

Przykład 3: Wyślij e-mail z załącznikiem

Ten przykład pokazuje, jak można wysłać wiadomość e-mail, dołączając plik tekstowy. Utwórz plik tekstowy za pomocą następującego skryptu.

Zawartość pliku tekstowego jest odczytywana i kodowana przed załącznikiem, a funkcja md5() jest używana w skrypcie do wygenerowania losowej liczby dla mieszanej zawartości. Wszystkie niezbędne informacje są dodawane w $nagłówki i $wiadomość zmienne przed wysłaniem e-maila.

//Ustaw adres e-mail odbiorcy
$to = "[email chroniony]";
//Ustaw temat e-maila
$subject = "Załącznik plikowy";
//Ustaw powrót karetki
$nl = "\r\n";
//Ustaw losowy hash, który będzie używany do mieszanej zawartości
$separator = md5(czas());
//Odczytaj zawartość załączonego pliku
$nazwa_pliku = 'mój_plik.tekst';
$treść = file_get_contents($nazwa pliku);
$zawartość = chunk_split(base64_encode($zawartość));
//Ustaw wiadomość e-mail z informacjami o załączniku
$wiadomość = "--" . $separator . $nl;
$wiadomość .= "Typ treści: tekst/zwykły; charset="iso-8859-1"" . $nl;
$wiadomość .= "Kodowanie-Transfer-Treści: 8bit" . $nl;
$wiadomość .= "Plik tekstowy jest dołączony do wiadomości e-mail." . $nl;
$wiadomość .= "--" . $separator . $nl;
$wiadomość .= "Content-Type: application/octet-stream; name="" . $nazwa pliku . """ . $nl;
$wiadomość .= "Kodowanie-Transfer Treści: base64" . $nl;
$wiadomość .= "Dyspozycja zawartości: załącznik" . $nl;
$wiadomość .= $zawartość . $nl;
$wiadomość .= "--" . $separator . "--";
//Ustaw nagłówek Content-type
$headers = 'Wersja MIME: 1.0'.$nl;
$nagłówki .= "Od: [e-mail chroniony]".$nl;
$nagłówki .= "Odpowiedz do: [email chroniony]".$nl;
$nagłówki .= "Typ treści: wieloczęściowy/mieszany; granica ="" . $separator . """ .$nl;
//Wyślij e-mail za pomocą funkcji wiadomości mail()
if(poczta($do,$temat,$wiadomość,$nagłówki))
echo "E-mail został pomyślnie wysłany z załącznikiem.\r\n";

jeszcze
echo "E-mail nie został wysłany. \r\n";

?>

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu z serwera WWW, jeśli funkcja mail() działa poprawnie.


Następujące dane wyjściowe pojawią się, jeśli sprawdzisz skrzynkę odbiorczą adresu e-mail, który został ustawiony jako adres e-mail odbiorcy.

Wniosek

W PHP istnieje wiele sposobów wysyłania e-maili. Funkcja PHP mail() nie działa poprawnie w Ubuntu po ustawieniu konfiguracji. Ten samouczek pokazuje niezbędne konfiguracje i sposób wysyłania e-maili za pomocą funkcji PHP mail().

Gry Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Zremasterowane gry HD dla Linuksa, które nigdy wcześniej nie zostały wydane na Linuksa
Wielu twórców gier i wydawców wymyśla remaster HD starych gier, aby przedłużyć żywotność serii, prosimy fanów o kompatybilność z nowoczesnym sprzętem ...
Gry Jak używać AutoKey do automatyzacji gier Linux
Jak używać AutoKey do automatyzacji gier Linux
AutoKey to narzędzie do automatyzacji pulpitu dla systemów Linux i X11, zaprogramowane w Python 3, GTK i Qt. Korzystając ze skryptów i funkcji MAKRO, ...
Gry How to Show FPS Counter in Linux Games
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...