{"id":24777,"date":"2021-05-21T15:20:00","date_gmt":"2021-05-21T12:20:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=24777"},"modified":"2021-10-18T03:11:45","modified_gmt":"2021-10-18T00:11:45","slug":"invia-e-mail-utilizzando-il-server-smtp-di-gmail-dallo-script-php","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/it\/invia-e-mail-utilizzando-il-server-smtp-di-gmail-dallo-script-php\/","title":{"rendered":"Invia e-mail utilizzando il server SMTP di Gmail dallo script PHP"},"content":{"rendered":"<p>La posta elettronica svolge un ruolo importante nel sito web. Ogni sito Web di solito deve inviare e-mail agli utenti. Queste e-mail possono essere inviate dalla pagina dei contatti, dalla newsletter, dal modulo di registrazione, ecc.<\/p>\n<p>PHP fornisce una <code>mail()<\/code>funzione che viene utilizzata per inviare un&#8217;e-mail. Ma ci sono limitazioni durante l&#8217;utilizzo del <code>mail()<\/code>metodo. Non puoi inviare email da un server di sviluppo locale. Un altro svantaggio \u00e8 che c&#8217;\u00e8 un&#8217;alta possibilit\u00e0 che la tua email finisca in uno spam.<\/p>\n<p>Nella maggior parte dei casi, il <code>mail()<\/code>metodo non invia nemmeno un&#8217;e-mail. Ci\u00f2 potrebbe essere dovuto alla configurazione del server errata o a qualcos&#8217;altro.<\/p>\n<p>Per uscire da questi problemi o limitazioni, \u00e8 possibile utilizzare il server SMTP per inviare le e-mail.<\/p>\n<p>In questo articolo, studiamo come utilizzare PHPMailer e il server SMTP di Gmail per l&#8217;invio di email.<\/p>\n<h3>Installazione<\/h3>\n<p>Per prima cosa devi installare la libreria <a href=\"https:\/\/github.com\/PHPMailer\/PHPMailer\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">PHPMailer<\/a> nel tuo progetto. Il modo consigliato per installare una libreria \u00e8 tramite <a href=\"https:\/\/getcomposer.org\/\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Composer<\/a>.<\/p>\n<p>Apri il prompt dei comandi nella directory principale del tuo progetto ed esegui il comando seguente.<\/p>\n<pre><code>composer require phpmailer\/phpmailer<\/code><\/pre>\n<p>Poich\u00e9 utilizziamo Gmail SMTP, devi modificare alcune impostazioni sul tuo account Google. Accedi al tuo account Google e fai clic su Il mio account. Una volta che sei nella pagina Il mio account, fai clic su Sicurezza. Scorri verso il basso e troverai le impostazioni &quot;Accesso alle app meno sicure&quot;. Impostalo su 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=\"Invia e-mail utilizzando il server SMTP di Gmail dallo script PHP\" ><\/a><\/p>\n<p>Successivamente, dobbiamo scrivere un codice che invii un&#8217;e-mail utilizzando la libreria PHPMailer e il server SMTP di Gmail.<\/p>\n<h3>Script PHP per l&#8217;invio di e-mail utilizzando il server SMTP di Gmail<\/h3>\n<p>Apri il tuo file PHP dove devi scrivere un codice per le email. Ad esempio, presumo che tu abbia un <code>sendemail.php<\/code>file nella directory principale.<\/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>Nel codice sopra, ho incluso l&#8217;ambiente della libreria PHPMailer nel file PHP.<\/p>\n<p>Successivamente, per inviare e-mail utilizzando PHPMailer, l&#8217;utente deve passare l&#8217;indirizzo del server SMTP di Gmail, la porta SMTP per Gmail e l&#8217;autenticazione SMTP (che non \u00e8 altro che il nome utente e la password di un account Google).<\/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>Questo \u00e8 tutto! Hai finito con la configurazione. Ora puoi procedere con l&#8217;invio di un&#8217;e-mail a un utente.<\/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>Sostituisci i segnaposto con i valori effettivi. Esegui questo file su un browser e la tua email dovrebbe essere inviata all&#8217;indirizzo email del destinatario.<\/p>\n<h3>Invio di allegati in un&#8217;e-mail<\/h3>\n<p>Utilizzando la libreria PHPMailer \u00e8 possibile inviare allegati singoli o multipli in una e-mail. Tutto quello che devi fare \u00e8 passare un percorso di directory dei tuoi allegati al metodo <code>addAttachment<\/code>come segue.<\/p>\n<pre><code>$mail-&gt;addAttachment(__DIR__. '\/attachment1.png');\n$mail-&gt;addAttachment(__DIR__. '\/attachment2.jpg');<\/code><\/pre>\n<p>Il nostro codice finale \u00e8 il seguente.<\/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>Spero che tu capisca come inviare e-mail utilizzando il server SMTP di Gmail da uno script PHP. Per favore condividi i tuoi pensieri e suggerimenti in un commento qui sotto.<\/p>\n<h4>articoli Correlati<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/invio-di-e-mail-tramite-il-server-smtp-di-gmail-in-laravel\/\" title=\"Invio di e-mail tramite il server SMTP di Gmail in Laravel\">Invio di e-mail tramite il server SMTP di Gmail in Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/invia-e-mail-utilizzando-il-server-smtp-di-gmail-e-la-libreria-swift-mailer\/\" title=\"Invia e-mail utilizzando il server SMTP di Gmail e la libreria Swift Mailer\">Invia e-mail utilizzando il server SMTP di Gmail e la libreria Swift Mailer<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/it\/invia-e-mail-utilizzando-mailjet-alternativa-al-server-smtp-di-gmail-in-php\/\" title=\"Invia e-mail utilizzando Mailjet in PHP\">Invia e-mail utilizzando Mailjet in PHP<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Fonte di registrazione:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In questo tutorial, spieghiamo come inviare e-mail utilizzando il server SMTP di Gmail da PHP Script. Usando SMTP puoi anche inviare email dal server locale.<\/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":[276],"tags":[846],"class_list":["post-24777","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php-7","tag-affiai-it"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24777","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/comments?post=24777"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/posts\/24777\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media\/21631"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/media?parent=24777"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/categories?post=24777"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/it\/wp-json\/wp\/v2\/tags?post=24777"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}