Smtp-valtuutuskoodi. Sähköpostien lähettäminen (SMTP vs. sähköposti PHP). Kuinka lähettää sähköposteja ASP:n avulla
Koska nimettömien viestien lähettäminen virtuaalisista Windows-hostingpalvelimista on kiellettyä, kirjeiden lähettäminen kannattaa tehdä SMTP-palvelimen kautta, johon on myös mahdollista käyttää sähköpostijärjestelmäämme.
Kuinka lähettää sähköpostia PHP:llä?
Käyttämällä mitä tahansa PHP-luokkaa, joka tukee valtuutusta smtp-palvelimella. Voit esimerkiksi käyttää PHPMailer-luokkasarjaa.
Voit myös käyttää esimerkkiämme, joka toteuttaa kirjeiden lähettämisen smtp-palvelimella, joka vaatii valtuutuksen. Siksi älä unohda lisätä komentosarjaan asianmukaiset käyttöoikeustiedot, esimerkiksi:
// Jos haluat näyttää SMTP-istuntolokin, voit poistaa kommentin seuraavalta riviltä. // $_SERVER["debug"] = tosi; toiminto MailSmtp ($vastaanotin, $aihe, $sisältö, $otsikot, $debug = 0) ( $smtp_server = "smtp.site"; // SMTP-palvelimen osoite$smtp_port = 25 ; // SMTP-palvelimen portti$smtp_user = " [sähköposti suojattu]" ; // Käyttäjätunnus valtuutusta varten SMTP-palvelimella$smtp_password = "SALASANA" ; // Salasana valtuutusta varten SMTP-palvelimella$mail_from = " [sähköposti suojattu]" ; // Postilaatikko, josta kirje lähetetään$sukka = fsockopen ($smtp_server, $smtp_port, $errno, $errstr, 30); $str = fgets ($sukka, 512); if (! $sock ) ( printf ( "Palvelinta ei ole luotu\n" ); exit(1 ); ) smtp_msg ($sock , "HELO " . $_SERVER [ "SERVER_NAME" ]); smtp_msg($sock, "TODISTA KIRJAUDU"); smtp_msg ($sukka, base64_encode ($smtp_user)); smtp_msg ($sukka, base64_encode ($smtp_salasana)); smtp_msg ($sock , "POSTI LÄHETTÄJÄ:<" . $mail_from . ">" ); smtp_msg ($sock , "RCPT TO:<" . $reciever . ">" ); smtp_msg ($sock , "DATA" ); $headers = "Aihe: " . $aihe . "\r\n" . $headers ; $data = $headers . "\r\n\r\n" " ! $sock ) ( printf ("Broken socket!\n" ); exit(1 ); ) if (isset($_SERVER [ "debug" ]) && $_SERVER [ "debug" ]) ( printf ( "Lähetä meiltä" : %s" , nl2br (htmlspecialchars ($msg )); ) fputs ($sock , " $msg \r\n" ); $str = fgets ($sock , 512 ); if (! $sock ) ( printf ( "Socket on alas\n" ); exit(1); ) else (if (isset($_SERVER [ "debug" ]) && $_SERVER [ "debug" ]) ( printf ("Saatu palvelimelta: %s
" , nl2br (htmlerikoismerkit ($str )); ) $e = räjähtää (" " , $str ); $koodi = array_shift ($e ); $str = implode ( " " , $e ); if ($koodi > 499 ) ( printf ( "Ongelmia SMTP-keskustelussa.
Koodi %d.
Viesti %s
" , $koodi , $str ); poistu(1); ) ) ) ?>
Lataa esimerkki valmiista komentosarjasta MailSmtp()-funktiolla: smtpauth.php.sample
Voit käyttää yllä kuvattua MailSmtp()-funktiota korvaamaan suoraan mail()-funktion; harkitse esimerkkiä PHP:n yksinkertaisimmasta muodosta:
// Viestin otsikot, ne määrittelevät viestin koodauksen, Lähettäjä-, Vastaanottaja-kentät jne.$headers = "MIME-versio: 1.0\r\n" ; $otsikot .= "Sisältötyyppi: text/html; charset=windows-1251\r\n"; $headers .= "Vastaanottaja: $vastaanottaja \r\n" ; $otsikot .= "Lähettäjä: Lähettäjän nimiJotta Tämä muoto toimi ilman mail()-funktiota, sisällytimme smtpauth.php-tiedoston vaatimuksen_once kautta ja kutsuimme siinä kuvatun MailSmtp()-funktion argumenteilla, jotka ovat samanlaisia kuin mail(). Samalla kommentoimme mail()-kutsua itseään koodissa välttääksemme virheet skriptiä suoritettaessa.
Kuinka lähettää sähköposteja ASP.NET:in kautta?
Jos käytät versiota 2.0, käytä MailMessage-luokkaa System.Net.Mail), hyvin kuvattu.
Alla on esimerkkejä sen käytöstä C#- ja VisualBasic-kielissä:
Esimerkki C#-kielelle:
<% @Page Language="c#" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% MailMessage message = new MailMessage(); // uuden kirjeen luominen viesti.To.Add(" [sähköposti suojattu]"); // lisätään vastaanottajan osoite viesti.Lähettäjä = uusi postiosoite("from@" domain.tld", "Lähettäjän nimi"); // ilmoittaen lähettäjän nimen ja osoitteen message.Subject = "Viestin aihe"; // täsmentämällä kirjeen aihe message.BodyEncoding = System.Text.Encoding.UTF8; // kirjainkoodauksen määrittäminen viesti.IsBodyHtml = false; // kirjainmuodon määrittäminen (true - HTML, false - ei HTML) message.Body = "Viestiteksti"; // täsmentämällä kirjeen teksti (runko). SmtpClient client = new SmtpClient("smtp.site",25); // uuden yhteyden luominen palvelimeen "smtp.site" client.DeliveryMethod = SmtpDeliveryMethod.Network; // määrittelee viestin lähetystavan client.EnableSsl = false; // poistaa tarpeen käyttää suojattua yhteyttä palvelimeen client.UseDefaultCredentials = false; // poista oletusarvoisten valtuutustietojen käyttö käytöstä client.Credentials = new NetworkCredential("postmaster@ domain.tld", "***Salasana***"); // määrittämällä tarvittavat tiedot (käyttäjänimi ja salasana) valtuutusta varten SMTP-palvelimella asiakas.Lähetä(viesti); // Lähetä viesti %>Lataa esimerkki täytetystä lomakkeesta, joka havainnollistaa käyttöä tätä menetelmää: MailForm.aspx.
Esimerkki VisualBasic-kielestä:
<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Net.Mail" %> <% @Import Namespace="System.Net" %> <% Dim smtpMssg AS new MailMessage smtpMssg.From = New MailAddress ("admin@domain.tld", "Lähettäjän_nimi") smtpMssg.To.Add (" [sähköposti suojattu]") "lisätään vastaanottajan osoite smtpMssg.Subject = "Sähköpostin aihe" "merkintä kirjeen aiheesta smtpMssg.Body = "Viestiteksti" " merkintä kirjeen tekstistä (rungosta). smtpMssg.BodyEncoding = System.Text.Encoding.UTF8 " merkintä kirjainkoodauksesta smtpMssg.IsBodyHtml = false " merkintä kirjainmuodosta (tosi - HTML, false - ei HTML) Himmeä SmtpMail uutena SmtpClient("smtp.site", 25) " ilmoitus uudesta "SmtpClient"-tyypin objektista SmtpMail.DeliveryMethod = SmtpDeliveryMethod.Network "merkintä kirjeen toimitustavasta SmtpMail.UseDefaultCredentials = Väärin "poistetaan oletusarvoisesti valtuutustietojen käyttö" SmtpMail.EnableSsl = Väärin " poistaa käytöstä tarpeen käyttää suojattua yhteyttä palvelimeen SmtpMail.Credentials = new NetworkCredential("postmaster@ domain.tld", "***Salasana***") "joka ilmoittaa tarvittavat tiedot (käyttäjänimi ja salasana) valtuutusta varten SMTP-palvelimella SmtpMail.Send(smtpMssg) "lähettää viestiä %>Siellä on myös vanhentunut (ja vanhentunut) SmtpMail-luokka (käyttäen nimiavaruutta System.Web.Mail). Alla on esimerkki sen käytöstä VisualBasic-kielellä:
<% @Page Language="VB" Debug="true" %> <% @Import Namespace="System.Web" %> <% @Import Namespace="System.Web.Mail" %> <% Dim smtpMssg = new MailMessage " ilmoitus uudesta "MailMessage"-tyypin objektista smtpMssg.From = "Lähettäjän_nimiKuinka lähettää sähköpostia ASP:n avulla?
Huomaa, että kun käytät smtp-palvelinta, vaaditaan valtuutus, joten älä unohda lisätä komentosarjaan tarvittavat pääsytiedot, esimerkiksi:
<% iConfig = Server.CreateObject("CDO.Configuration") Set iConfig = Server.CreateObject("CDO.Configuration") With iConfig.Fields .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.сайт" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 .Item("http://schemas.microsoft.com/cdo/configuration/languagecode") = "ru" .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "postmaster@domain.tld" .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "salasana" .Päivitä Lopeta joukolla cdoMessage = CreateObject("CDO.Message") With cdoMessage Set .Configuration = iConfig .From = "Testaa käyttäjäJoissakin sisällönhallintajärjestelmissä on jo sisäänrakennetut työkalut kirjeenvaihdon tai vastaavien moduulien lähettämiseen; katsotaanpa suosituimpia.
Wordpress
Tätä CMS:ää varten on erityinen moduuli "WP Mail SMTP", esimerkki sen määrityksestä on kuvattu moduulisivulla.
Kiinnitä huomiota esimerkin kuvaan; sähköpostijärjestelmässämme on käytettävä porttia 25, eikä SSL-salausta vaadita.
Joomla
Siirry hallintapaneelissa "Yleiset asetukset" -osioon, valitse "Palvelin"-välilehti. "Mail"-kentässä sinun on valittava lähetystavaksi "SMTP-palvelin", kenttiin "SMTP-palvelimen osoite" ja "SMTP-sisäänkirjautuminen" ja "SMTP-salasana" määritetään asianmukaiset sähköpostijärjestelmän tiedot, esimerkiksi: smtp.site, laatikko@oma_verkkotunnus ja vastaava Salasana.
Drupal
Tällä CMS:llä on myös oma moduuli SMTP-palvelimen kanssa työskentelyä varten PHPMailer. Voit ladata tämän moduulin sen sivulta CMS Drupal -verkkosivustolta; moduulin asennuksen kuvaus löytyy sen mukana olevasta arkistosta.
NetCat
Tässä CMS:ssä ei ole sisäänrakennettuja toimintoja SMTP-palvelimen kanssa työskentelyä varten. Jos haluat lähettää sähköpostia sivuston komentosarjoilla, voimme tarjota ratkaisumme; sen yhdistämiseksi sinun on suoritettava seuraavat vaiheet:
- Lataa tarvittavat tiedostot sisältävä arkisto verkkosivustoltamme ( send_auth_mail.php Ja mail.inc.php) ja pura se tietokoneellesi;
Muokkaa tiedostoa send_auth_mail.php arkistosta ilmoittamalla siinä yhteystiedot haluttuun SMTP-palvelimeen:
- $mail_smtpServer = "smtp.site"; (SMTP-palvelimen osoite)
- $mail_port = "25" ; (liitäntäportti)
- $mail_username = "[sähköposti suojattu]" ; (käyttäjänimi valtuutusta varten SMTP-palvelimella)
- $mail_password = "Salasana"; (salasana valtuutusta varten SMTP-palvelimella)
- Luo tiedostosta varmuuskopio domain.tld/www/netcat/admin/mail.inc.php;
- ladata tiedostoja send_auth_mail.php Ja mail.inc.php hakemiston virtuaalisivustolle domain.tld/www/netcat/admin/
domain.tld tulee korvata verkkotunnuksellasi.
Ehdotettu ratkaisu toimii kaikkien NetCat-moduulien kanssa, jotka käyttävät tämän CMS:n vakiotoimintoja postin lähettämiseen.
Etsin pitkään ratkaisua lähettää käyttäjille kirjeitä ei PHP:n mail()-toiminnon, vaan SMTP-postipalvelimien kautta. Internetissä ei ole paljon monipuolista tietoa, ja se, mitä siellä on, ei toimi aivan oikein tai ei toimi ollenkaan. Siksi kokosin kaiken ja kirjoitin oman koodini sivustoilla esiteltyjen valmiiden koodien perusteella.
Miksi lähettää SMTP:n kautta eikä postitse ()
Vastaukseni on melko yksinkertainen - virukset lähettivät jonkin aikaa tonnia kirjeitä palvelimeni kautta, mikä johti siihen, että monet postittajat, erityisesti gmail.com, kielsivät IP-osoitteeni, ja tämän yhteydessä käyttäjät saattoivat vastaanottaa kirjeitä, joten minä piti etsiä vaihtoehtoa, ja löysin sen - tämä on SMTP
Saatat olla kiinnostunut siitä, miksi käsikirjoitukseni on parempi kuin muut, jotka makaavat ulkona?! minä tulen vastaamaan
- Se toimii Yandexin, Ramblerin, Mailin kanssa (gmail ei voinut voittaa)
- Tyhjennä koodi. Voit määrittää sen vaihtamalla muutaman rivin
- Lähettää sähköposteja HTML-muodossa
Tässä ovat käsikirjoitukseni edut, joita en löytänyt mistään Internetistä, mutta jokaisesta otin kaiken tarvittavan. Joten katsotaanpa koodia.
Funktio smtpmail($mail_to, $subject, $message, $service="yandex") ( $config["smtp_charset"] = "windows-1251"; //viestin koodaus. (tai UTF-8 jne.) $config [ "smtp_from"] = "mashintop.ru"; //Nimesi - tai sivustosi nimi. Näytetään, kun se luetaan Lähettäjä-kentässä $config["smtp_debug"] = false; //Jos haluat Jos haluat nähdä virheilmoitukset, määritä true sijaan false $config["smtp_port"] = "25"; // Työportti. Älä muuta, jos et ole varma. if($service=="yandex") ( $config[ "smtp_searcher"] = "yandex. ru"; $config["smtp_email"] = " [sähköposti suojattu]"; $config["smtp_username"] = "mashintop"; //Vaihda postilaatikkosi nimeen. $config["smtp_host"] = "smtp.yandex.ru"; //postin lähetyspalvelin $config[" smtp_password "] = "moi_parol"; //Vaihda salasana ) elseif($service=="rambler") ( $config["smtp_searcher"] = "rambler.ru"; $config["smtp_email"] = " [sähköposti suojattu]"; $config["smtp_username"] = "mashintop"; //Vaihda postilaatikkosi nimeen. $config["smtp_host"] = "smtp.rambler.ru"; //postin lähetyspalvelin $config[" smtp_password "] = "moi_parol"; //Vaihda salasana ) elseif($service=="mail") ( $config["smtp_searcher"] = "mail.ru"; $config["smtp_email"] = " [sähköposti suojattu]"; $config["smtp_username"] = "mashintop"; //Vaihda postilaatikkosi nimeen. $config["smtp_host"] = "smtp.mail.ru"; //palvelin sähköpostin lähettämiseen $config[" smtp_password "] = "moi_parol"; //Vaihda salasana ) elseif($service=="gmail") ( $config["smtp_searcher"] = "gmail.com"; $config["smtp_email"] = " [sähköposti suojattu]"; $config["smtp_username"] = "alexeybertram"; //Vaihda postilaatikkosi nimeen. $config["smtp_host"] = "smtp.gmail.com"; //postin lähetyspalvelin $config[" smtp_password "] = "moi_parol"; //Vaihda salasana ) $header="Päiväys: ".date("D, j M Y G:i:s")." +0700rn"; $header.="From: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode("".$config[" smtp_from"]."")))."?=<".$config["smtp_email"].">rn"; $header.="X-Mailer: Lepakko! (v3.99.3) Professionalrn"; $header.="Vastaus: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode(" ".$config["smtp_from"]."")))."?=<".$config["smtp_email"].">rn"; $header.="X-Priority: 3 (normaali)rn"; $header.="Viesti-ID:<172562218.".date("YmjHis")."@".$config["smtp_searcher"].">rn"; $header.="Vastaanottaja: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode("")))."? =<$mail_to>rn"; $header.="Aihe: =?windows-1251?Q?".str_replace("+","_",str_replace("%","=",urlencode("".$subject."") )))."?=rn"; $header.="MIME-versio: 1.0rn"; $header.="Sisältötyyppi: teksti/html; charset=windows-1251rn"; $header.="Sisällönsiirtokoodaus: 8bitrn"; $smtp_conn = fsockopen("".$config["smtp_host"]."", $config["smtp_port"],$errno , $errstr, 10); if(!$smtp_conn) (tulosta "yhteys palvelimilta epäonnistui"; fclose($smtp_conn); exit;) $data = get_data($smtp_conn); fputs($smtp_conn,"EHLO ". $ config["smtp_searcher"]."rn"); $koodi = substr(get_data($smtp_conn),0.3000); if($koodi != 250) (tulosta "EHLO hello error"; fclose($smtp_conn) ; exit; ) fputs($smtp_conn,"AUTH LOGINrn"); $code = substr(get_data($smtp_conn),0.3000); if($code != 334) (tulosta "palvelin ei sallinut valtuutuksen alkamista"; fclose ($ smtp_conn); exit;) fputs($smtp_conn,base64_encode("".$config["smtp_username"]."")."rn"); $code = substr(get_data($smtp_conn),0,3000) ; jos ($code != 334) (tulosta "virhe tämän käyttäjän käytössä"; fclose($smtp_conn); exit;) fputs($smtp_conn,base64_encode("".$config["smtp_salasana"].""). "rn" ); $koodi = substr(get_data($smtp_conn),0,3000); if($koodi != 235) (tulosta "väärä salasana"; fclose($smtp_conn); exit;) fputs($smtp_conn,"MAIL FROM:".$config["smtp_email"]."rn"); $koodi = substr(get_data($smtp_conn),0,3000); if($code != 250) (tulosta "palvelin kieltäytyi MAIL FROM -komennosta"; fclose($smtp_conn); exit;) fputs($smtp_conn,"RCPT TO:".$mail_to."rn"); $koodi = substr(get_data($smtp_conn),0,3000); if($koodi != 250 JA $koodi != 251) (tulosta "Palvelin ei hyväksynyt RCPT TO -komentoa"; fclose($smtp_conn); exit;) fputs($smtp_conn,"DATArn"); $koodi = substr(get_data($smtp_conn),0,3000); if($koodi != 354) (tulosta "palvelin ei hyväksynyt DATAA"; fclose($smtp_conn); exit;) fputs($smtp_conn,$header."rn".$message."rn.rn"); $koodi = substr(get_data($smtp_conn),0,3000); if($koodi != 250) (tulosta "kirjeen lähetysvirhe"; fclose($smtp_conn); exit;) fputs($smtp_conn,"QUITrn"); fclose($smtp_conn); ) funktio get_data($smtp_conn) ( $data=""; while($str = fgets($smtp_conn,515)) ( $data .= $str; if(substr($str,3,1) == " " ) ( break; ) ) return $data; ) $text_email = "
Olet juuri lisännyt mainoksen verkkosivustolle mashintop.ru. Voit katsoa sen täältäAvaimesi: ".$key."
Tällä avaimella voit hallita mainostasi.
"; $teksti_sähköposti .= " "; smtpmail(" [sähköposti suojattu]", "Avain mainokseen osoitteessa mashintop.ru", $text_email, "yandex"); //use Yandex smtpmail(" [sähköposti suojattu]", "Avain mainokseen osoitteessa mashintop.ru", $text_email, "mail"); //käytä sähköpostia smtpmail(" [sähköposti suojattu]", "Avain mainokseen osoitteessa mashintop.ru", $text_email, "rambler"); //käytä rambleria smtpmail(" [sähköposti suojattu]", "Avain mainokseen osoitteessa mashintop.ru", $text_email, "gmail"); // mutta gmail ei toimi :(
Siinä kaikki, valmis skripti on käsissäsi, kopioi se, muuta $config-taulukon arvoja ja kaikki toimii hyvin.
Katsotaanpa nyt joitain elementtejä, joihin haluaisin keskittyä.
Esimerkiksi virhe, jonka saamme, kun yritämme lähettää SMTP:n kautta Googlelle. Aluksi näemme tämän virhetekstin:
Jos haluat nähdä jotain tarkempaa, muokataan koodia hieman
Fputs($smtp_conn,"AUTH LOGINrn"); $koodi = substr(get_data($smtp_conn),0,3000); echo $koodi; if($code != 334) (tulosta "palvelin ei sallinut valtuutuksen alkamista"; fclose($smtp_conn); exit;)
Ja lopulta saamme hyvin konkreettisen virheen
530 5.7.0 Ensin on annettava STARTTLS-komento. x4sm16408296lbn.2 - gsmtp
En tiedä mitä se tarkalleen tarkoittaa, mutta uskon, että sillä on jotain tekemistä suojatun, suojaamattoman yhteyden kanssa. En tiedä vielä kuinka päästä eroon siitä, joten gmail on tällä hetkellä voittamaton.
2019-08-05
Hei rakas vierailija!
Pyydän anteeksi viivästystä blogin päivittämisessä. Mutta tälle on täysin ymmärrettävä selitys. Loppujen lopuksi oli kesä, dacha, vieraat, metsä, vesi ja paljon muuta, mikä ei antanut minun käsitellä verkkosivuston luomiseen liittyviä kysymyksiä. Mutta nyt olen hieman vapautunut, vieraat ovat lähteneet ja uskon, että nyt pystyn ehdottomasti kiinnittämään asiaan asianmukaista huomiota.
Joten sen jälkeen, kun viime artikkelissa liitimme verkkotunnuksemme sähköpostin johonkin sähköpostipalveluun, katsotaan nyt, kuinka voit lähettää sähköpostia sivustolta. Lisäksi siten, että kirjeemme eivät päädy roskapostiin, vaan ne toimitetaan luotettavasti, suurella todennäköisyydellä vastaanottajillemme.
Yleensä PHP:ssä on sisäänrakennettu mail()-toiminto kirjeiden lähettämiseen. Mutta on huomattava, että huolimatta tämän menetelmän yksinkertaisuudesta (tässä tapauksessa kirjeiden lähettämiseen riittää, että määritetään vain yksi koodirivi tietyillä parametreilla), tämän vaihtoehdon käytöllä on merkittävä haitta, joka liittyy roskapostin ongelmaan. .
Tosiasia on, että sähköpostipalvelimien roskapostin estosuodattimet vastaanottajan puolella eivät todellakaan suosi mail()-toiminnon kautta lähetettyjä kirjeitä. Ja useimmissa tapauksissa tällaiset viestit suodatetaan tai jopa poistetaan ennen kuin ne saapuvat vastaanottajalle.
Ja tällaisten tapausten eliminoimiseksi mahdollisimman paljon käytetään yleensä toista vaihtoehtoa, jossa kirjeet lähetetään ikään kuin sen olisi tehnyt kolmannen osapuolen postipalvelu.
Tätä menetelmää kutsutaan sähköpostin lähettämiseksi SMTP:n kautta valtuutetulla tavalla. Mitä tarkastelemme tänään esimerkkinä palautelomakkeen lähettämisestä. Lisäksi käytämme tähän melko tunnettua ja suosittua PHPMailer-kirjastoa, jonka avulla voit yksinkertaisesti järjestää kirjeiden lähettämisen SMTP:n kautta.
- Miten lähetämme palautekirjeitä
- Palautelomakkeen luominen
- PHPMailer-kirjaston asentaminen
- Luomme skriptin sähköpostin lähettämiseen SMTP:n kautta
- Sähköpostin lähetystä tarkistetaan
- Sivuston lähdetiedostot
Miten lähetämme palautekirjeitä
Ennen kuin aloitamme käytännön palautekirjeiden lähettämisen, päätetään ensin, miten se tehdään.
Palautelomake on suunniteltu antamaan käyttäjälle mahdollisuus kommunikoida sivuston ylläpitäjän kanssa viestinsä välittämiseksi. Tyypillisesti tämä lomake koostuu useista kentistä ja "Lähetä"-painikkeesta.
Periaatteessa sähköpostin lähettämiseen riittää vain muutama kenttä, joka antaa riittävästi tietoa käyttäjästä ja viestin sisällöstä, kuten:
- "Nimi" - syöttääksesi viestin lähettäjän nimen;
- "Sähköposti" - lähettäjän sähköpostiosoite;
- "Viestin aihe";
- "Viestiteksti".
Vaikka voit lisätä muitakin. Esimerkiksi puhelinnumero, jos se on todella tarpeen.
Meidän tapauksessamme tällaiset kirjeet lähetetään sivuston ylläpitäjän osoitteeseen oikeasta postilaatikosta, jolla on valtuutus postipalveluun, johon verkkotunnuksemme on yhdistetty.
Koska edellisessä artikkelissa keskityimme verkkotunnuksen sähköpostin yhteyden tarkistamiseen Yandex.Mail-palveluun, lähetämme sähköpostia tälle vaihtoehdolle. Vaikka tämä ei ole tärkeää. Alla näet ne vaihtoehdot, joita muutettuna voit lähettää sähköpostia Mail.ru-postipalvelimen kautta.
Todellisena postilaatikkona, josta kirjeet lähetetään, käytämme juuri luodun verkkotunnuksen sähköpostin käyttäjän tiliä, vaikkapa osoitteella [sähköposti suojattu]. Ja me lähetämme nämä kirjeet järjestelmänvalvojan postilaatikkoon [sähköposti suojattu], jonka loimme aiemmin edellisessä artikkelissa.
Näin ollen palautelomakkeen kirjeen lähettäjä on postilaatikko [sähköposti suojattu]., ja vastaanottaja - [sähköposti suojattu]. Tässä tapauksessa kaikki tiedot viestin sisällöineen lähettäneestä käyttäjästä välitetään lähetetyn kirjeen rungossa.
Palautelomakkeen luominen
Kun olemme päättäneet kirjeiden lähetysmenettelystä, luomme nyt palautelomakkeen, jolla teemme tämän.
Alla on tämän lomakkeen HTML-koodi, jonka sijoitamme "Yhteystiedot"-sivulle (tiedosto kontakty.php artikkelihakemistossa).