Sähköpostin lähettäminen PHP-skriptistä SMTP-todennuksen avulla

Sisällysluettelo:

Sähköpostin lähettäminen PHP-skriptistä SMTP-todennuksen avulla
Sähköpostin lähettäminen PHP-skriptistä SMTP-todennuksen avulla
Anonim

Mitä tietää

  • PHP-luokan vaihtoehdot: PHPmailer, SwiftMailer, Zend_Mail, XpertMailer, PEAR Mail.
  • PEAR Mail: Huomaa sähköpostipalvelimen nimi > tarkista, että PEAR Mail on asennettu > muokkaa PHP-tiedostoa annettujen esimerkkien avulla.

Tässä artikkelissa kerrotaan, kuinka SMTP-todennusta käytetään sähköpostin lähettämiseen PHP mail()-toiminnolla PEAR Mailissa.

Sähköpostin lähettäminen PHP Mail -toiminnolla

Kun käytät PHP mail() -toimintoa, lähetät sähköpostin suoraan verkkopalvelimelta sähköpostipalvelimen sijaan. Jos sinulla on sähköpostipalvelin verkkoisäntäsi kautta tai jopa sähköpostipalvelin, jolla on eri isäntä, on yleensä parempi lähettää sähköposti sen kautta.

Ongelma on, että PHP mail()-funktio ei tarjoa mitään sisäänrakennettua tapaa lähettää sähköpostia SMTP:n kautta. Jos haluat avata tämän toiminnon, sinun on asennettava ylimääräinen PHP-luokka.

Tässä on joitain toimivia vaihtoehtoja:

  • PHPmailer
  • SwiftMailer
  • Zend_Mail
  • XpertMailer
  • PEAR Mail

Näytämme sinulle, kuinka käyttää PEAR Mailia, mutta voit käyttää mitä tahansa luokkaa, joka tukee SMTP:tä.

Image
Image

Jos verkkopalvelussasi on jo yksi tai useampi näistä luokista asennettuna, sillä on todennäköisesti tilanteeseesi liittyviä opetusohjelmia. Jos näin on, käytä luokkaa, johon sinulla on käyttöoikeus.

Käytä tätä menetelmää vain, jos käytät PHP:tä omien sähköpostilomakkeiden luomiseen. Jos käytät sisällönhallintajärjestelmää (CMS), kuten WordPress, etsi laajennus tai sisäänrakennettu toiminto sähköpostin lähettämiseen SMTP:n kautta sen sijaan, että yrität luoda omia.

Kuinka PEARia käytetään sähköpostin lähettämiseen SMTP:n kautta

  1. Varmista, että toimialueesi on osoitettu sähköpostipalvelimesi isännän Mail Exchange (MX) -tietueisiin, ja merkitse muistiin sähköpostipalvelimesi nimi. Se voi olla esimerkiksi mail.omaverkkotunnus.net tai smtp.omaverkkotunnus.net.
  2. Tarkista, onko PEAR Mail jo asennettu sähköpostipalvelimellesi.
  3. Jos PEAR Mailia ei ole asennettu, ota yhteyttä verkkosähköpostipalveluun saadaksesi tarkat asennusohjeet.
  4. Kun PEAR Mail on asennettu, muokkaa yhtä seuraavissa osioissa olevista esimerkki PHP-tiedostoista tarpeidesi mukaan.

Esimerkki PEAR Mail PHP-skripti SMTP-sähköpostille

Voit luoda oman käsikirjoituksen tyhjästä, jos haluat, tai muokata seuraavaa esimerkkiä mieleiseksesi. Varmista, että kirjoitat verkkosähköpostipalvelimesi nimen isäntämuuttujaan ja käytä verkkosähköpostipalvelimesi kirjautumistietojasi käyttäjänimi- ja salasanakenttiin.

request_once "Mail.php";

$from="Lähettäjän nimi ";

$to="Vastaanottajan nimi";

$subject=" Aiherivi tässä: ";

$body=" mikä tahansa haluamasi viesti ";

$host="omapostipalvelin.com";

$username="käyttäjänimesi tai sähköpostiosoitteesi"; $password="salasanasi";

$headers=array ('Lähettäjä'=> $lähtö, 'To'=> $vastaanottaja, 'Aihe'=> $subject);

$smtp=Mail::factory('smtp', array ('host'=> $isäntä, 'auth'=> tosi, 'käyttäjänimi'=> $käyttäjänimi, 'salasana'=> $salasana));

$posti=$smtp->lähetä($to, $headers, $body);

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

echo("

". $mail->getMessage()."

);

} else {echo("

Viesti lähetetty onnistuneesti!

);}

Esimerkki PEAR Mail PHP-skripti SMTP-todennukseen ja SSL-salaukseen

Jos haluat käyttää SMTP-todennusta ja SSL-salausta, sinun on tehtävä muutamia muutoksia edelliseen esimerkkiin. Sinun on osoitettava isäntämuuttuja SSL-sähköpostipalvelimellesi ja määritettävä myös portin numero, kuten 25, 465, 587, 2525 tai 8025. Ota yhteyttä web-sähköpostipalveluun saadaksesi lisätietoja, jos et saa selville, mihin porttiin haluat käytä.

request_once "Mail.php";

$from="Lähettäjän nimi ";

$to="Vastaanottajan nimi";

$subject=" Aiherivi tässä: ";

$body=" mikä tahansa haluamasi viesti ";

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

$port="587"; $username="käyttäjänimesi tai sähköpostiosoitteesi";

$password="salasanasi";

$headers=array ('Lähettäjä'=> $from, ' Vastaanottaja'=> $vastaanottaja, 'Aihe'=> $aihe);

$smtp=Mail::factory('smtp', array ('host'=>) $isäntä, 'portti'=> $portti, 'auth'=> true, 'käyttäjänimi'=> $käyttäjänimi, 'salasana'=> $salasana));

$mail=$smtp->lähetä($to, $headers, $body);

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

echo("

". $mail->getMessage()."

);

} else {echo("

Viesti lähetetty onnistuneesti!

);}

Suositeltava: