Kā nosūtīt e-pastu no PHP skripta, izmantojot SMTP autentifikāciju

Satura rādītājs:

Kā nosūtīt e-pastu no PHP skripta, izmantojot SMTP autentifikāciju
Kā nosūtīt e-pastu no PHP skripta, izmantojot SMTP autentifikāciju
Anonim

Kas jāzina

  • PHP klases opcijas: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: atzīmējiet pasta servera nosaukumu > pārbaudiet, vai PEAR Mail ir instalēts > modificējiet PHP failu, izmantojot sniegtos piemērus.

Šajā rakstā ir paskaidrots, kā izmantot SMTP autentifikāciju, lai nosūtītu e-pastu ar PHP mail() funkciju programmā PEAR Mail.

E-pasta sūtīšana, izmantojot PHP pasta funkciju

Kad izmantojat PHP pasta () funkciju, jūs galu galā sūtāt e-pastu tieši no sava tīmekļa servera, nevis no pasta servera. Ja jums ir pasta serveris, izmantojot tīmekļa mitinātāju, vai pat pasta serveris ar citu resursdatoru, parasti labāk ir sūtīt pastu, izmantojot to.

Problēma ir tāda, ka PHP pasta () funkcija nenodrošina nekādu iebūvētu veidu, kā nosūtīt pastu, izmantojot SMTP. Ja vēlaties atvērt šo funkcionalitāti, jums būs jāinstalē papildu PHP klase.

Šeit ir dažas iespējas, kas darbojas:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Mēs parādīsim, kā izmantot PEAR Mail, taču varat izmantot jebkuru klasi, kas atbalsta SMTP.

Image
Image

Ja jūsu tīmekļa mitinātājam jau ir instalēta viena vai vairākas no šīm klasēm, iespējams, tajā ir apmācības, kas attiecas uz jūsu situāciju. Ja tā, turpiniet un izmantojiet mācību priekšmetu, kuram jums ir piekļuve.

Izmantojiet šo metodi tikai tad, ja izmantojat PHP, lai izveidotu savas pielāgotās pasta veidlapas. Ja izmantojat satura pārvaldības sistēmu (SPS), piemēram, WordPress, meklējiet spraudni vai iebūvētu funkcionalitāti, lai nosūtītu pastu, izmantojot SMTP, nevis mēģināt izveidot savu.

Kā izmantot PEAR, lai nosūtītu vēstules, izmantojot SMTP

  1. Pārliecinieties, ka jūsu domēns ir norādīts uz pasta servera resursdatora Mail Exchange (MX) ierakstiem, un pierakstiet sava pasta servera nosaukumu. Piemēram, tas var būt pasts.yourdomain.net vai smtp.yourdomain.net.
  2. Pārbaudiet, vai PEAR Mail jau ir instalēts jūsu pasta serverī.
  3. Ja PEAR Mail nav instalēts, sazinieties ar savu tīmekļa pasta resursdatoru, lai iegūtu konkrētus norādījumus par tā instalēšanu.
  4. Kad PEAR Mail ir instalēts, pārveidojiet vienu no PHP failu piemēriem nākamajās sadaļās, lai tas atbilstu savām vajadzībām.

Piemērs PEAR Mail PHP skripts SMTP pastam

Ja vēlaties, varat izveidot savu skriptu no jauna vai pārveidot tālāk redzamo piemēru pēc savas patikas. Noteikti ievadiet sava tīmekļa pasta servera nosaukumu resursdatora mainīgajā un izmantojiet savu tīmekļa pasta resursdatora pieteikšanās informāciju lietotājvārda un paroles laukos.

request_once "Mail.php";

$from="Sūtītāja vārds ";

$to="Saņēmēja vārds";

$subject=" Temata rindiņa šeit: ";

$body=" jebkurš ziņojums, ko vēlaties ";

$host="jusupasts.lv";

$username="jūsu lietotājvārds vai e-pasts"; $password="jūsu parole";

$headers=masīvs ('No'=> $no, 'Kam'=> $uz, 'Temats'=> $subject);

$smtp=Mail::factory('smtp', masīvs ('host'=> $host, 'auth'=> true, 'lietotājvārds'=> $lietotājvārds, 'parole'=> $parole));

$mail=$smtp->sūtīt($uz, $headers, $body);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} cits {echo("

Ziņojums veiksmīgi nosūtīts!

);}

Piemērs PEAR Mail PHP skripts SMTP autentifikācijai un SSL šifrēšanai

Ja vēlaties izmantot SMTP autentifikāciju un SSL šifrēšanu, jums būs jāveic dažas izmaiņas iepriekšējā piemērā. Jums būs jānorāda resursdatora mainīgais uz savu SSL pasta serveri, kā arī jānorāda porta numurs, piemēram, 25, 465, 587, 2525 vai 8025. Sazinieties ar tīmekļa pasta mitinātāju, lai iegūtu papildinformāciju, ja nevarat noskaidrot, kuru portu izmantot. izmantot.

request_once "Mail.php";

$from="Sūtītāja vārds ";

$to="Saņēmēja vārds";

$subject=" Temata rindiņa šeit: ";

$body=" jebkurš ziņojums, ko vēlaties ";

$host="ssl://yourmailhost.com";

$port="587"; $username="jūsu lietotājvārds vai e-pasts";

$password="jūsu parole";

$headers=masīvs ('No'=> $no, ' Kam'=> $kam, 'Subject'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=>) $host, 'port'=> $port, 'auth'=> true, 'lietotājvārds'=> $lietotājvārds, 'password'=> $password));

$mail=$smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo("

". $mail->getMessage()."

);

} cits {echo("

Ziņojums veiksmīgi nosūtīts!

);}

Ieteicams: