{"id":24567,"date":"2021-05-21T15:07:00","date_gmt":"2021-05-21T12:07:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24567"},"modified":"2021-10-17T20:46:47","modified_gmt":"2021-10-17T17:46:47","slug":"laheta-sahkopostia-kayttamalla-gmailin-smtp-palvelinta-php-komentosarjalta","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/laheta-sahkopostia-kayttamalla-gmailin-smtp-palvelinta-php-komentosarjalta\/","title":{"rendered":"L\u00e4het\u00e4 s\u00e4hk\u00f6postia k\u00e4ytt\u00e4m\u00e4ll\u00e4 Gmailin SMTP-palvelinta PHP-komentosarjalta"},"content":{"rendered":"<p>S\u00e4hk\u00f6postilla on t\u00e4rke\u00e4 rooli verkkosivustolla. Jokaisen verkkosivuston on yleens\u00e4 l\u00e4hetett\u00e4v\u00e4 s\u00e4hk\u00f6posteja k\u00e4ytt\u00e4jille. N\u00e4m\u00e4 s\u00e4hk\u00f6postit voidaan l\u00e4hett\u00e4\u00e4 yhteydenottosivulta, uutiskirjeest\u00e4, rekister\u00f6intilomakkeesta jne.<\/p>\n<p>PHP tarjoaa <code>mail()<\/code>toiminnon, jota k\u00e4ytet\u00e4\u00e4n s\u00e4hk\u00f6postin l\u00e4hett\u00e4miseen. <code>mail()<\/code>Menetelm\u00e4n k\u00e4yt\u00f6ss\u00e4 on kuitenkin rajoituksia. Et voi l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6postia paikalliselta kehityspalvelimelta. Toinen haittapuoli on, ett\u00e4 on suuri mahdollisuus, ett\u00e4 s\u00e4hk\u00f6postisi p\u00e4\u00e4tyy roskapostiksi.<\/p>\n<p>Useimmissa tapauksissa <code>mail()<\/code>menetelm\u00e4 ei edes l\u00e4het\u00e4 s\u00e4hk\u00f6postia. T\u00e4m\u00e4 voi johtua v\u00e4\u00e4r\u00e4st\u00e4 palvelimen kokoonpanosta tai jostain muusta.<\/p>\n<p>Voit p\u00e4\u00e4st\u00e4 eroon n\u00e4ist\u00e4 ongelmista tai rajoituksista k\u00e4ytt\u00e4m\u00e4ll\u00e4 SMTP-palvelinta s\u00e4hk\u00f6postiviestien l\u00e4hett\u00e4miseen.<\/p>\n<p>T\u00e4ss\u00e4 artikkelissa tutkitaan, miten PHPMaileria ja Gmailin SMTP-palvelinta k\u00e4ytet\u00e4\u00e4n s\u00e4hk\u00f6postiviestien l\u00e4hett\u00e4miseen.<\/p>\n<h3>Asennus<\/h3>\n<p>Sinun on ensin asennettava <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMailer-<\/a> kirjasto projektiisi. Suositeltu tapa asentaa kirjasto on <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composerin<\/a> kautta .<\/p>\n<p>Avaa komentorivi projektin juurihakemistossa ja suorita alla oleva komento.<\/p>\n<pre><code>composer require phpmailer\/phpmailer<\/code><\/pre>\n<p>Koska k\u00e4yt\u00e4mme Gmailin SMTP-protokollaa, sinun on muutettava joitain Google-tilisi asetuksia. Kirjaudu Google-tiliisi ja napsauta Oma tili. Kun olet Oma tili -sivulla, napsauta Suojaus. Vierit\u00e4 alasp\u00e4in ja l\u00f6yd\u00e4t &#8217;V\u00e4hemm\u00e4n turvallisen sovelluksen k\u00e4ytt\u00f6&#8217; -asetukset. Aseta se asentoon ON.<\/p>\n<p><a href=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20527-6082002147f32.png\" data-rel=\"lightbox\"><img decoding=\"async\" class=\"SDStudio-light-box-enable SDStudio-editor-tools-md-imp\" src=\"https:\/\/themewp.inform.click\/wp-content\/uploads\/2021\/04\/post-20527-6082002147f32.png\" alt=\"L\u00e4het\u00e4 s\u00e4hk\u00f6postia k\u00e4ytt\u00e4m\u00e4ll\u00e4 Gmailin SMTP-palvelinta PHP-komentosarjalta\" ><\/a><\/p>\n<p>T\u00e4m\u00e4n j\u00e4lkeen meid\u00e4n on kirjoitettava koodi, joka l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6postia k\u00e4ytt\u00e4m\u00e4ll\u00e4 PHPMailer-kirjastoa ja Gmailin SMTP-palvelinta.<\/p>\n<h3>PHP-komentosarja s\u00e4hk\u00f6postin l\u00e4hett\u00e4miseen Gmail SMTP -palvelimen avulla<\/h3>\n<p>Avaa PHP-tiedosto, johon sinun on kirjoitettava koodi s\u00e4hk\u00f6posteille. Oletan esimerkiksi, ett\u00e4 sinulla on <code>sendemail.php<\/code>tiedosto juurihakemistossa.<\/p>\n<p><strong>sendemail.php<\/strong><\/p>\n<pre><code>&lt;?php\n\/\/Import PHPMailer classes into the global namespace\nuse PHPMailerPHPMailerPHPMailer;\nuse PHPMailerPHPMailerException;\n\u00a0\nrequire_once 'vendor\/autoload.php';\n\u00a0\n$mail = new PHPMailer(true);\n?&gt;<\/code><\/pre>\n<p>Edell\u00e4 mainittuun koodiin olen sis\u00e4llytt\u00e4nyt PHPMailer-kirjaston ymp\u00e4rist\u00f6n PHP-tiedostoon.<\/p>\n<p>Seuraavaksi k\u00e4ytt\u00e4j\u00e4n on l\u00e4hetett\u00e4v\u00e4 s\u00e4hk\u00f6postit PHPMailer-sovelluksella Gmailin SMTP-palvelimen osoite, Gmailin SMTP-portti ja SMTP-todennus (mik\u00e4 ei ole muuta kuin k\u00e4ytt\u00e4j\u00e4nimesi ja Google-tilisi salasana).<\/p>\n<pre><code>$mail-&gt;isSMTP();\n$mail-&gt;Host = 'smtp.googlemail.com';\u00a0 \/\/gmail SMTP server\n$mail-&gt;SMTPAuth = true;\n$mail-&gt;Username = 'GMAIL_USERNAME';\u00a0\u00a0 \/\/username\n$mail-&gt;Password = 'GMAIL_PASSWORD';\u00a0\u00a0 \/\/password\n$mail-&gt;SMTPSecure = 'ssl';\n$mail-&gt;Port = 465;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/SMTP port<\/code><\/pre>\n<p>Se siit\u00e4! M\u00e4\u00e4ritys on valmis. Nyt voit l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6postia s\u00e4hk\u00f6postitse k\u00e4ytt\u00e4j\u00e4lle.<\/p>\n<pre><code>$mail-&gt;setFrom('FROM_EMAIL_ADDRESS', 'FROM_NAME');\n$mail-&gt;addAddress('RECEPIENT_EMAIL_ADDRESS', 'RECEPIENT_NAME');\n\u00a0\n$mail-&gt;isHTML(true);\n\u00a0\n$mail-&gt;Subject = 'Email subject';\n$mail-&gt;Body\u00a0\u00a0\u00a0 = '&lt;b&gt;Email Body&lt;\/b&gt;';\n\u00a0\n$mail-&gt;send();\necho 'Message has been sent';<\/code><\/pre>\n<p>Korvaa paikkamerkit todellisilla arvoilla. Suorita t\u00e4m\u00e4 tiedosto selaimella, ja s\u00e4hk\u00f6postisi tulee l\u00e4hett\u00e4\u00e4 vastaanottajan s\u00e4hk\u00f6postiosoitteeseen.<\/p>\n<h3>Liitteiden l\u00e4hett\u00e4minen s\u00e4hk\u00f6postitse<\/h3>\n<p>PHPMailer-kirjastoa k\u00e4ytt\u00e4m\u00e4ll\u00e4 voidaan l\u00e4hett\u00e4\u00e4 yksitt\u00e4isi\u00e4 tai useita liitteit\u00e4 s\u00e4hk\u00f6postitse. Sinun tarvitsee vain siirt\u00e4\u00e4 liitteiden hakemistopolku menetelm\u00e4\u00e4n <code>addAttachment<\/code>seuraavasti.<\/p>\n<pre><code>$mail-&gt;addAttachment(__DIR__. '\/attachment1.png');\n$mail-&gt;addAttachment(__DIR__. '\/attachment2.jpg');<\/code><\/pre>\n<p>Lopullinen koodimme on seuraava.<\/p>\n<p><strong>sendemail.php<\/strong><\/p>\n<pre><code>&lt;?php\nuse PHPMailerPHPMailerPHPMailer;\nuse PHPMailerPHPMailerException;\n\u00a0\nrequire_once \"vendor\/autoload.php\";\nrequire_once \"constants.php\";\n\u00a0\n$mail = new PHPMailer(true);\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;isSMTP();\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Host = 'smtp.googlemail.com';\u00a0 \/\/gmail SMTP server\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;SMTPAuth = true;\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Username = GMAIL_USERNAME;\u00a0\u00a0 \/\/username\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Password = GMAIL_PASSWORD;\u00a0\u00a0 \/\/password\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;SMTPSecure = 'ssl';\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Port = 465;\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \/\/smtp port\n\u00a0\u00a0\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;setFrom('FROM_EMAIL_ADDRESS', 'FROM_NAME');\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;addAddress('RECEPIENT_EMAIL_ADDRESS', 'RECEPIENT_NAME');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;addAttachment(__DIR__. '\/attachment1.png');\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;addAttachment(__DIR__. '\/attachment2.png');\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;isHTML(true);\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Subject = 'Email Subject';\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;Body\u00a0\u00a0\u00a0 = '&lt;b&gt;Email Body&lt;\/b&gt;';\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$mail-&gt;send();\n\u00a0\u00a0\u00a0\u00a0echo 'Message has been sent';\n} catch (Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo 'Message could not be sent. Mailer Error: '. $mail-&gt;ErrorInfo;\n}\n?&gt;<\/code><\/pre>\n<p>Toivon, ett\u00e4 ymm\u00e4rr\u00e4t, kuinka voit l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6postia k\u00e4ytt\u00e4m\u00e4ll\u00e4 Gmailin SMTP-palvelinta PHP-komentosarjalta. Jaa ajatuksesi ja ehdotuksesi alla olevassa kommentissa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/sahkopostin-lahettaminen-gmail-smtp-palvelimen-kautta-laravelissa\/\" title=\"S\u00e4hk\u00f6postin l\u00e4hett\u00e4minen Gmail SMTP -palvelimen kautta Laravelissa\">S\u00e4hk\u00f6postin l\u00e4hett\u00e4minen Gmail SMTP -palvelimen kautta Laravelissa<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/laheta-sahkopostia-gmail-smtp-palvelimen-ja-swift-mailer-kirjaston-avulla\/\" title=\"L\u00e4het\u00e4 s\u00e4hk\u00f6postia Gmail SMTP -palvelimen ja Swift Mailer -kirjaston avulla\">L\u00e4het\u00e4 s\u00e4hk\u00f6postia Gmail SMTP -palvelimen ja Swift Mailer -kirjaston avulla<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/laheta-sahkopostia-kayttamalla-php-n-mailjet-ohjelmaa-vaihtoehto-gmailin-smtp-palvelimelle\/\" title=\"L\u00e4het\u00e4 s\u00e4hk\u00f6postia Mailjetin avulla PHP: ss\u00e4\">L\u00e4het\u00e4 s\u00e4hk\u00f6postia Mailjetin avulla PHP: ss\u00e4<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>T\u00e4ss\u00e4 opetusohjelmassa kerrotaan, kuinka voit l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6postia k\u00e4ytt\u00e4m\u00e4ll\u00e4 Gmailin SMTP-palvelinta PHP-skripteist\u00e4. SMTP: n avulla voit jopa l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6postia paikalliselta palvelimelta.<\/p>\n","protected":false},"author":1,"featured_media":21631,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[275],"tags":[843],"class_list":["post-24567","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-6","tag-affiai-fi"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24567","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/comments?post=24567"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24567\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21631"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24567"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24567"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24567"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}