{"id":28531,"date":"2021-05-27T12:54:00","date_gmt":"2021-05-27T09:54:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=28531"},"modified":"2021-10-18T03:41:36","modified_gmt":"2021-10-18T00:41:36","slug":"wysylanie-wiadomosci-e-mail-przy-uzyciu-serwera-smtp-gmaila-i-biblioteki-swift-mailer","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/pl\/wysylanie-wiadomosci-e-mail-przy-uzyciu-serwera-smtp-gmaila-i-biblioteki-swift-mailer\/","title":{"rendered":"Wysy\u0142anie wiadomo\u015bci e-mail przy u\u017cyciu serwera SMTP Gmaila i biblioteki Swift Mailer"},"content":{"rendered":"<p>Czy chcesz wysy\u0142a\u0107 e-maile za pomoc\u0105 serwera SMTP Gmaila? Gdy u\u017cywasz serwera SMTP do obs\u0142ugi wiadomo\u015bci e-mail, istnieje du\u017ca szansa, \u017ce \u200b\u200bTwoje wiadomo\u015bci trafi\u0105 do skrzynki odbiorczej u\u017cytkownika, a nie do spamu. Serwer SMTP zapobiega oznaczaniu Twoich e-maili jako spamu. W tym artykule dowiemy si\u0119, jak wysy\u0142a\u0107 wiadomo\u015bci e-mail za pomoc\u0105 serwera SMTP Gmaila i biblioteki Swift Mailer.<\/p>\n<p>Jako w\u0142a\u015bciciel witryny zawsze chcesz, aby Tw\u00f3j e-mail trafia\u0142 bezpo\u015brednio do skrzynki odbiorczej u\u017cytkownika, a nie do spamu lub \u015bmieci. Zwi\u0119ksza to prawdopodobie\u0144stwo, \u017ce u\u017cytkownik przeczyta Twoj\u0105 wiadomo\u015b\u0107 e-mail i podejmie \u017c\u0105dan\u0105 akcj\u0119.<\/p>\n<h3>Dlaczego warto korzysta\u0107 z serwera SMTP?<\/h3>\n<p>W przypadku witryny internetowej normalnym jest formularz, kt\u00f3ry wysy\u0142a wiadomo\u015b\u0107 e-mail do u\u017cytkownik\u00f3w lub administrator\u00f3w. Mo\u017ce to by\u0107 Tw\u00f3j biuletyn, formularz kontaktowy lub proces rejestracji, w kt\u00f3rym musisz wys\u0142a\u0107 wiadomo\u015b\u0107 e-mail jako potwierdzenie.<\/p>\n<p>PHP udost\u0119pnia <code>mail()<\/code>funkcj\u0119 wysy\u0142ania e-maili. Je\u015bli jednak Tw\u00f3j serwer nie konfiguruje poprawnie ustawie\u0144 poczty, ta metoda nie dzia\u0142a. Inn\u0105 mo\u017cliwo\u015bci\u0105 jest to, \u017ce wysy\u0142anie wiadomo\u015bci e-mail za pomoc\u0105 <code>mail()<\/code>metody mo\u017ce sko\u0144czy\u0107 si\u0119 spamem.<\/p>\n<p>Aby przezwyci\u0119\u017cy\u0107 te dwie sytuacje, do wysy\u0142ania wiadomo\u015bci e-mail nale\u017cy u\u017cywa\u0107 serwera SMTP.<\/p>\n<p>Korzystaj\u0105c z biblioteki <a href=\"https:\/\/swiftmailer.symfony.com\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Swift Mailer<\/a>, u\u017cytkownik mo\u017ce korzysta\u0107 z dowolnego serwera SMTP, takiego jak Gmail, Sendgrid, Mandrill lub w\u0142asnego serwera SMTP udost\u0119pnianego przez hosting do wysy\u0142ania wiadomo\u015bci e-mail. W tym samouczku wybieram serwer SMTP Gmaila.<\/p>\n<p>Powiedziawszy to, przyjrzyjmy si\u0119, jak korzysta\u0107 z biblioteki Swift Mailer do wysy\u0142ania wiadomo\u015bci e-mail.<\/p>\n<h3>Szybka instalacja Mailera<\/h3>\n<p>Aby korzysta\u0107 z biblioteki Swift Mailer, musisz mie\u0107 na swoim serwerze PHP w wersji 7.2 lub nowszej. Je\u015bli u\u017cywasz starszej wersji, zaktualizuj j\u0105 do najnowszej wersji PHP. Wi\u0119kszo\u015b\u0107 dostawc\u00f3w hostingu, takich jak <a href=\"https:\/\/www.bluehost.com\/track\/artisansweb\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Bluehost,<\/a> aktualizuje wersj\u0119 PHP na \u017c\u0105danie. Nie musisz inwestowa\u0107 czasu, aby zaktualizowa\u0107 wersj\u0119.<\/p>\n<p>Id\u0105c dalej, polecam u\u017cy\u0107 <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composera<\/a> do zainstalowania biblioteki Swift Mailer. Otw\u00f3rz terminal w katalogu g\u0142\u00f3wnym projektu i uruchom polecenie:<\/p>\n<pre><code>composer require swiftmailer\/swiftmailer<\/code><\/pre>\n<p>Poniewa\u017c zamierzamy korzysta\u0107 z SMTP Gmaila, musisz zmieni\u0107 niekt\u00f3re ustawienia na swoim koncie Google. Zaloguj si\u0119 na swoje konto Google i kliknij Konto. Gdy znajdziesz si\u0119 na stronie Konto Google, kliknij Bezpiecze\u0144stwo. Przewi\u0144 w d\u00f3\u0142, a znajdziesz ustawienia \u201eMniej bezpieczny dost\u0119p do aplikacji&quot;. Ustaw go na 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=\"Wysy\u0142anie wiadomo\u015bci e-mail przy u\u017cyciu serwera SMTP Gmaila i biblioteki Swift Mailer\" ><\/a><\/p>\n<h3>Wysy\u0142anie wiadomo\u015bci e-mail przy u\u017cyciu serwera SMTP Gmaila i biblioteki Swift Mailer<\/h3>\n<p>Na tym etapie jeste\u015b gotowy z bibliotek\u0105 Swift Mailer, a tak\u017ce zmieni\u0142e\u015b ustawienia konta Gmail. Teraz mo\u017cesz i\u015b\u0107 dalej.<\/p>\n<p>Za\u0142\u00f3\u017cmy, \u017ce masz plik, w <code>sendmail.php<\/code>kt\u00f3rym musisz napisa\u0107 kod, kt\u00f3ry wysy\u0142a e-maile. Napisz poni\u017cszy kod w swoim pliku PHP.<\/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>W powy\u017cszym kodzie przekaza\u0142em poni\u017csze warto\u015bci dla ustawie\u0144 serwera SMTP Gmaila.<\/p>\n<ul>\n<li>Adres serwera SMTP Google: smtp.googlemail.com<\/li>\n<li>Port SMTP Gmaila: 465<\/li>\n<li>Szyfrowanie: ssl<\/li>\n<\/ul>\n<p>Opr\u00f3cz tych warto\u015bci musisz zmieni\u0107 inne symbole zast\u0119pcze, takie jak YOUR_GMAIL_USERNAME, YOUR_GMAIL_PASSWORD itp.<\/p>\n<p>Po zast\u0105pieniu wszystkich warto\u015bci uruchom ten plik w przegl\u0105darce. Powiniene\u015b dosta\u0107 e-mail w skrzynce odbiorczej, a nie w spamie.<\/p>\n<h3>Wy\u015blij pojedynczy lub wiele za\u0142\u0105cznik\u00f3w w wiadomo\u015bci e-mail<\/h3>\n<p>Czasami mo\u017ce by\u0107 konieczne przes\u0142anie za\u0142\u0105cznik\u00f3w w wiadomo\u015bci e-mail. Za pomoc\u0105 Swift Mailer mo\u017cesz wysy\u0142a\u0107 jeden lub wiele za\u0142\u0105cznik\u00f3w w nast\u0119puj\u0105cy spos\u00f3b:<\/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>Wystarczy u\u017cy\u0107 <code>attach<\/code>metody i poda\u0107 bezwzgl\u0119dn\u0105 \u015bcie\u017ck\u0119 pliku, kt\u00f3ry chcesz wys\u0142a\u0107 jako za\u0142\u0105cznik. Tutaj zak\u0142adam, \u017ce musisz wys\u0142a\u0107 'sample.png&#8217; i 'sample-ebook.pdf&#8217; jako za\u0142\u0105czniki.<\/p>\n<p>Wi\u0119c nasz ostateczny kod wygl\u0105da nast\u0119puj\u0105co.<\/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>Wszystko sprowadza si\u0119 do wysy\u0142ania wiadomo\u015bci e-mail za po\u015brednictwem biblioteki Swift Mailer. Mo\u017cesz r\u00f3wnie\u017c u\u017cy\u0107 <a href=\"https:\/\/blog.mailtrap.io\/swiftmailer-sendmail\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Symfony Swift Mailer<\/a> do wysy\u0142ania wiadomo\u015bci przez kilka serwer\u00f3w SMTP, takich jak Mailgun, Mandrill, itp. Chcia\u0142bym us\u0142ysze\u0107 Twoje przemy\u015blenia i sugestie w sekcji komentarzy poni\u017cej.<\/p>\n<h4>Powi\u0105zane artyku\u0142y<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/wyslij-e-mail-za-pomoca-serwera-smtp-gmaila-ze-skryptu-php\/\" title=\"Wy\u015blij e-mail za pomoc\u0105 serwera SMTP Gmaila ze skryptu PHP\">Wy\u015blij e-mail za pomoc\u0105 serwera SMTP Gmaila ze skryptu PHP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/jak-wyslac-e-mail-wordpress-za-pomoca-serwera-smtptp\/\" title=\"Jak wys\u0142a\u0107 wiadomo\u015b\u0107 e-mail WordPress za pomoc\u0105 serwera SMTP\">Jak wys\u0142a\u0107 wiadomo\u015b\u0107 e-mail WordPress za pomoc\u0105 serwera SMTP<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/pl\/wysylanie-wiadomosci-e-mail-przez-serwer-smtp-gmaila-w-laravel\/\" title=\"Wysy\u0142anie wiadomo\u015bci e-mail przez serwer SMTP Gmaila w Laravel\">Wysy\u0142anie wiadomo\u015bci e-mail przez serwer SMTP Gmaila w Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">\u0179r\u00f3d\u0142o nagrywania:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Czy chcesz u\u017cywa\u0107 serwera SMTP Gmaila do wysy\u0142ania e-maili? W tym artykule dowiemy si\u0119, jak wysy\u0142a\u0107 wiadomo\u015bci e-mail za pomoc\u0105 serwera SMTP Gmaila i biblioteki Swift Mailer.<\/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":[277],"tags":[847],"class_list":["post-28531","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-8","tag-affiai-pl"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/comments?post=28531"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/posts\/28531\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media\/21614"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/media?parent=28531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/categories?post=28531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/pl\/wp-json\/wp\/v2\/tags?post=28531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}