Skip to main content

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

Anonim

E-pasta sūtīšana no PHP skripta ir vienkārša, ātra un vienkārša … ja tā darbojas!

Daļa no tā, kas padara PHP pastu () funkcija tik vienkārši ir tā elastības trūkums, bet viena problēma ar to ir tā, ka krājums PHP pastu () parasti neļauj jums izmantot jūsu izvēlēto SMTP serveri, un tas neatbalsta SMTP autentifikāciju.

Par laimi, PHP iebūvēto trūkumu pārvarēšana nav grūta. Lielākajai daļai e-pasta lietotāju bezmaksas PEAR Mail pakete piedāvā visu nepieciešamo jaudu un elastīgumu, un tā autentificē ar vēlamo izejošā pasta serveri. Lai uzlabotu drošību, šifrētie SSL savienojumi tiek atbalstīti arī pasta sūtīšanai, izmantojot PEAR Mail.

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

Lai sāktu, instalējiet PEAR Mail pakotni. Raksturīgi, ka tas jau būs paveicies, ja izmantosit PHP 4 un vēlāk, bet, ja neesat pārliecināts, vai jums jau ir tas, pārejiet uz priekšu un instalējiet to.

Kopējiet šo kodu:

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient '; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'mail.example.com'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }

Atrodiet visu mūsu izvēlēto treknrakstu un mainiet šos skripta apgabalus, lai tie atbilstu jums. Šīs ir vienīgās jomas, kuras jūs esat jābūt mainīt, lai PHP skripts darbotos, bet arī noteikti mainiet tēmu un tekstu.

  • no: E-pasta adrese, no kuras vēlaties nosūtīt ziņojumu
  • uz: Saņēmēja e-pasta adrese un vārds
  • uzņēmēja: Jūsu izejošā SMTP servera nosaukums
  • lietotājvārds: SMTP lietotājvārds (parasti tāpat kā lietotājvārds, ko izmanto, lai ielādētu pastu).
  • parole: SMTP autentifikācijas parole

Piezīme: Iepriekš minētais piemērs ir PHP skripts, kas nosūta e-pastu ar SMTP autentifikāciju, bet bez SSL šifrēšana. Ja vēlaties arī šifrēšanu, izmantojiet šo skriptu, atkal mainot treknrakstu ar savu informāciju.

require_once 'Mail.php'; $from = 'Sandra Sender >'; $to = 'Ramona Recipient >'; $subject = 'Hi!'; $body = 'Hi, How are you?'; $host = 'ssl://mail.example.com'; $port = '465'; $username = 'smtp_username'; $password = 'smtp_password'; $headers = array ('From' => $from, 'To' => $to, 'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo('

' . $mail->getMessage() . '

'); } else { echo('

Message successfully sent!

'); }