{"id":24887,"date":"2021-05-27T12:41:00","date_gmt":"2021-05-27T09:41:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24887"},"modified":"2021-10-17T20:37:52","modified_gmt":"2021-10-17T17:37:52","slug":"laheta-sahkopostia-gmail-smtp-palvelimen-ja-swift-mailer-kirjaston-avulla","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/fi\/laheta-sahkopostia-gmail-smtp-palvelimen-ja-swift-mailer-kirjaston-avulla\/","title":{"rendered":"L\u00e4het\u00e4 s\u00e4hk\u00f6postia Gmail SMTP -palvelimen ja Swift Mailer -kirjaston avulla"},"content":{"rendered":"<p>Haluatko l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6postisi Gmail SMTP -palvelimen avulla? Kun k\u00e4yt\u00e4t SMTP-palvelinta s\u00e4hk\u00f6posteihisi, on todenn\u00e4k\u00f6ist\u00e4, ett\u00e4 s\u00e4hk\u00f6postisi menev\u00e4t k\u00e4ytt\u00e4j\u00e4n postilaatikkoon eik\u00e4 roskapostiin. SMTP-palvelin est\u00e4\u00e4 s\u00e4hk\u00f6postisi merkitsem\u00e4st\u00e4 roskapostiksi. T\u00e4ss\u00e4 artikkelissa tutkitaan, miten l\u00e4hetet\u00e4\u00e4n s\u00e4hk\u00f6postia Gmail SMTP -palvelimen ja Swift Mailer -kirjaston avulla.<\/p>\n<p>Sivuston omistajana haluat aina, ett\u00e4 s\u00e4hk\u00f6postisi menee suoraan k\u00e4ytt\u00e4j\u00e4n postilaatikkoon eik\u00e4 roskapostiin tai roskapostiin. Se lis\u00e4\u00e4 todenn\u00e4k\u00f6isyytt\u00e4, ett\u00e4 k\u00e4ytt\u00e4j\u00e4 lukee s\u00e4hk\u00f6postisi ja suorittaa haluamasi toimet.<\/p>\n<h3>Miksi sinun on k\u00e4ytett\u00e4v\u00e4 SMTP-palvelinta?<\/h3>\n<p>Verkkosivustolle on normaalia, ett\u00e4 sinulla on lomake, joka l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6postin k\u00e4ytt\u00e4jille tai j\u00e4rjestelm\u00e4nvalvojille. Se voi olla uutiskirje, yhteydenottolomake tai rekister\u00f6intiprosessi, johon sinun on l\u00e4hetett\u00e4v\u00e4 s\u00e4hk\u00f6posti kuittauksena.<\/p>\n<p>PHP tarjoaa <code>mail()<\/code>toiminnon s\u00e4hk\u00f6postien l\u00e4hett\u00e4miseen. Jos palvelimesi ei kuitenkaan m\u00e4\u00e4rit\u00e4 postiasetuksia oikein, t\u00e4m\u00e4 menetelm\u00e4 ei toimi. Toinen mahdollisuus on, kun l\u00e4het\u00e4t s\u00e4hk\u00f6posteja <code>mail()<\/code>menetelm\u00e4ll\u00e4, se voi p\u00e4\u00e4ty\u00e4 roskapostiksi.<\/p>\n<p>Voit voittaa n\u00e4m\u00e4 2 tilannetta k\u00e4ytt\u00e4m\u00e4ll\u00e4 SMTP-palvelinta s\u00e4hk\u00f6postiviestien l\u00e4hett\u00e4miseen.<\/p>\n<p>K\u00e4ytt\u00e4m\u00e4ll\u00e4 <a href=\"https:\/\/swiftmailer.symfony.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Swift Mailer<\/a> kirjaston k\u00e4ytt\u00e4j\u00e4 voi k\u00e4ytt\u00e4\u00e4 mit\u00e4 tahansa SMTP-palvelin, kuten Gmail, Sendgrid, Mandrilli tai oma is\u00e4nt\u00e4 s\u00e4\u00e4detty SMTP l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6posteja. T\u00e4ss\u00e4 opetusohjelmassa valitsen Gmailin SMTP-palvelimen.<\/p>\n<p>T\u00e4m\u00e4n sanottuaan katsotaanpa, kuinka Swift Mailer -kirjastoa k\u00e4ytet\u00e4\u00e4n s\u00e4hk\u00f6postiviestien l\u00e4hett\u00e4miseen.<\/p>\n<h3>Nopea Mailer-asennus<\/h3>\n<p>Jotta voit k\u00e4ytt\u00e4\u00e4 Swift Mailer -kirjastoa, palvelimellasi on oltava PHP-versio 7.2 tai uudempi. Jos k\u00e4yt\u00e4t vanhempaa versiota, p\u00e4ivit\u00e4 se uusimpaan PHP-versioon. Suurin osa palveluntarjoajista, kuten <a href=\"https:\/\/www.bluehost.com\/track\/artisansweb\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bluehost,<\/a> p\u00e4ivitt\u00e4\u00e4 PHP-version pyynn\u00f6st\u00e4. Sinun ei tarvitse k\u00e4ytt\u00e4\u00e4 aikaa p\u00e4ivitt\u00e4\u00e4ksesi version.<\/p>\n<p>Jatkossa suosittelen, ett\u00e4 Swift Mailer -kirjasto asennetaan <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composerilla<\/a>. Avaa p\u00e4\u00e4te projektin juurihakemistossa ja suorita komento:<\/p>\n<pre><code>composer require swiftmailer\/swiftmailer<\/code><\/pre>\n<p>Koska aiomme k\u00e4ytt\u00e4\u00e4 Gmailin SMTP: t\u00e4, sinun on muutettava joitain Google-tilisi asetuksia. Kirjaudu Google-tiliisi ja napsauta Tili. Kun olet Google-tilisivulla, 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-20453-6081f3f519b19.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-20453-6081f3f519b19.png\" alt=\"L\u00e4het\u00e4 s\u00e4hk\u00f6postia Gmail SMTP -palvelimen ja Swift Mailer -kirjaston avulla\" ><\/a><\/p>\n<h3>L\u00e4het\u00e4 s\u00e4hk\u00f6postia Gmail SMTP -palvelimen ja Swift Mailer -kirjaston avulla<\/h3>\n<p>T\u00e4ss\u00e4 vaiheessa olet valmis Swift Mailer -kirjastoon ja muutit my\u00f6s Gmail-tilin asetuksia. Nyt sinulla on hyv\u00e4 menn\u00e4 eteenp\u00e4in.<\/p>\n<p>Oletetaan, ett\u00e4 sinulla on tiedosto, <code>sendmail.php<\/code>johon sinun on kirjoitettava koodi, joka l\u00e4hett\u00e4\u00e4 s\u00e4hk\u00f6posteja. Kirjoita alla oleva koodi PHP-tiedostoon.<\/p>\n<p><strong>sendmail.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0\/\/ Create the Transport\n\u00a0\u00a0\u00a0\u00a0$transport = (new Swift_SmtpTransport('smtp.googlemail.com', 465, 'ssl'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setUsername('YOUR_GMAIL_USERNAME')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setPassword('YOUR_GMAIL_PASSWORD')\n\u00a0\u00a0\u00a0\u00a0;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Create the Mailer using your created Transport\n\u00a0\u00a0\u00a0\u00a0$mailer = new Swift_Mailer($transport);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Create a message\n\u00a0\u00a0\u00a0\u00a0$body = 'Hello, &lt;p&gt;Email sent through &lt;span style=\"color:red;\"&gt;Swift Mailer&lt;\/span&gt;.&lt;\/p&gt;';\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$message = (new Swift_Message('Email Through Swift Mailer'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setFrom(['FROM_EMAIL_ADDRESS' =&gt; 'FROM_NAME'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setTo(['RECEPIENT_1_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setCc(['RECEPIENT_2_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setBcc(['RECEPIENT_3_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setBody($body)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setContentType('text\/html')\n\u00a0\u00a0\u00a0\u00a0;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Send the message\n\u00a0\u00a0\u00a0\u00a0$mailer-&gt;send($message);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0echo 'Email has been sent.';\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Yll\u00e4 olevassa koodissa olen v\u00e4litt\u00e4nyt alla olevat arvot Gmailin SMTP-palvelinasetuksille.<\/p>\n<ul>\n<li>Google SMTP -palvelimen osoite: smtp.googlemail.com<\/li>\n<li>Gmailin SMTP-portti: 465<\/li>\n<li>Salaus: ssl<\/li>\n<\/ul>\n<p>N\u00e4iden arvojen lis\u00e4ksi sinun on vaihdettava muita paikkamerkkej\u00e4, kuten YOUR_GMAIL_USERNAME, YOUR_GMAIL_PASSWORD jne.<\/p>\n<p>Kun olet korvannut kaikki arvot, suorita t\u00e4m\u00e4 tiedosto selaimessa. Sinun pit\u00e4isi saada s\u00e4hk\u00f6posti postilaatikkoon, ei roskapostiin.<\/p>\n<h3>L\u00e4het\u00e4 yksitt\u00e4isi\u00e4 tai useita liitteit\u00e4 s\u00e4hk\u00f6postitse<\/h3>\n<p>Joskus sinun on ehk\u00e4 l\u00e4hetett\u00e4v\u00e4 liitteet s\u00e4hk\u00f6postitse. Swift Mailer -sovelluksen avulla voit l\u00e4hett\u00e4\u00e4 yksitt\u00e4isi\u00e4 tai useita liitteit\u00e4 seuraavasti:<\/p>\n<pre><code>$message-&gt;attach(Swift_Attachment::fromPath(__DIR__. '\/sample.png')); \/\/absolute path for your attachment\n$message-&gt;attach(Swift_Attachment::fromPath(__DIR__. '\/sample-ebook.pdf'));<\/code><\/pre>\n<p>Sinun tarvitsee vain k\u00e4ytt\u00e4\u00e4 <code>attach<\/code>menetelm\u00e4\u00e4 ja v\u00e4litt\u00e4\u00e4 liitetiedostona l\u00e4hetett\u00e4v\u00e4n tiedoston absoluuttinen polku. T\u00e4ss\u00e4 oletan, ett\u00e4 sinun on l\u00e4hetett\u00e4v\u00e4 liitteet &quot;sample.png&quot; ja &quot;sample-ebook.pdf&quot;.<\/p>\n<p>Joten lopullinen koodimme on seuraava.<\/p>\n<p><strong>sendmail.php<\/strong><\/p>\n<pre><code>&lt;?php\nrequire_once 'vendor\/autoload.php';\n\u00a0\ntry {\n\u00a0\u00a0\u00a0\u00a0\/\/ Create the Transport\n\u00a0\u00a0\u00a0\u00a0$transport = (new Swift_SmtpTransport('smtp.googlemail.com', 465, 'ssl'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setUsername('YOUR_GMAIL_USERNAME')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setPassword('YOUR_GMAIL_PASSWORD')\n\u00a0\u00a0\u00a0\u00a0;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Create the Mailer using your created Transport\n\u00a0\u00a0\u00a0\u00a0$mailer = new Swift_Mailer($transport);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Create a message\n\u00a0\u00a0\u00a0\u00a0$body = 'Hello, &lt;p&gt;Email sent through &lt;span style=\"color:red;\"&gt;Swift Mailer&lt;\/span&gt;.&lt;\/p&gt;';\n\u00a0\n\u00a0\u00a0\u00a0\u00a0$message = (new Swift_Message('Email Through Swift Mailer'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setFrom(['FROM_EMAIL_ADDRESS' =&gt; 'FROM_NAME'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setTo(['RECEPIENT_1_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setCc(['RECEPIENT_2_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setBcc(['RECEPIENT_3_EMAIL_ADDRESS'])\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setBody($body)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;setContentType('text\/html')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;attach(Swift_Attachment::fromPath(__DIR__. '\/sample.png'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;attach(Swift_Attachment::fromPath(__DIR__. '\/sample-ebook.pdf'))\n\u00a0\u00a0\u00a0\u00a0;\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/ Send the message\n\u00a0\u00a0\u00a0\u00a0$mailer-&gt;send($message);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0echo 'Email has been sent.';\n} catch(Exception $e) {\n\u00a0\u00a0\u00a0\u00a0echo $e-&gt;getMessage();\n}<\/code><\/pre>\n<p>Kyse on s\u00e4hk\u00f6postin l\u00e4hett\u00e4misest\u00e4 Swift Mailer -kirjaston kautta. Voit my\u00f6s k\u00e4ytt\u00e4\u00e4 <a href=\"https:\/\/blog.mailtrap.io\/swiftmailer-sendmail\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Symfony Swift<\/a> Maileria l\u00e4hett\u00e4m\u00e4\u00e4n viestej\u00e4 muutaman SMTP-palvelimen kautta, kuten Mailgun, Mandrill jne. Haluaisin kuulla ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.<\/p>\n<h4>Aiheeseen liittyv\u00e4t artikkelit<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/laheta-sahkopostia-kayttamalla-gmailin-smtp-palvelinta-php-komentosarjalta\/\" title=\"L\u00e4het\u00e4 s\u00e4hk\u00f6postia k\u00e4ytt\u00e4m\u00e4ll\u00e4 Gmailin SMTP-palvelinta PHP-komentosarjalta\">L\u00e4het\u00e4 s\u00e4hk\u00f6postia k\u00e4ytt\u00e4m\u00e4ll\u00e4 Gmailin SMTP-palvelinta PHP-komentosarjalta<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/fi\/kuinka-lahettaa-wordpress-sahkopostia-smtp-palvelimen-avulla\/\" title=\"Kuinka l\u00e4hett\u00e4\u00e4 WordPress-s\u00e4hk\u00f6postia SMTP-palvelimen avulla\">Kuinka l\u00e4hett\u00e4\u00e4 WordPress-s\u00e4hk\u00f6postia SMTP-palvelimen avulla<\/a><\/li>\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<\/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>Aiotko k\u00e4ytt\u00e4\u00e4 Gmailin SMTP-palvelinta s\u00e4hk\u00f6postiviestien l\u00e4hett\u00e4miseen? T\u00e4ss\u00e4 artikkelissa tutkitaan, kuinka l\u00e4hetet\u00e4\u00e4n s\u00e4hk\u00f6posteja Gmail SMTP -palvelimen ja Swift Mailer Libraryn avulla.<\/p>\n","protected":false},"author":1,"featured_media":21614,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[275],"tags":[843],"class_list":["post-24887","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\/24887","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=24887"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/posts\/24887\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media\/21614"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/media?parent=24887"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/categories?post=24887"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/fi\/wp-json\/wp\/v2\/tags?post=24887"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}