Come inviare e-mail utilizzando la funzione PHP mail ()

Sommario:

Anonim

Cos'è la posta PHP?

La posta PHP è la funzione PHP incorporata che viene utilizzata per inviare e-mail da script PHP.

La funzione di posta accetta i seguenti parametri;

  • Indirizzo e-mail
  • Soggetto
  • Messaggio
  • Indirizzi e-mail CC o BC
    • È un modo conveniente per informare gli utenti su eventi importanti.
    • Consenti agli utenti di contattarti tramite e-mail fornendo un modulo di contatto sul sito Web che invia tramite e-mail il contenuto fornito.
    • Gli sviluppatori possono utilizzarlo per ricevere errori di sistema tramite e-mail
    • Puoi usarlo per inviare messaggi di posta elettronica ai tuoi iscritti alla newsletter.
    • Puoi usarlo per inviare link per la reimpostazione della password agli utenti che dimenticano le loro password
    • Puoi usarlo per inviare e-mail i link di attivazione / conferma. Ciò è utile durante la registrazione degli utenti e la verifica dei loro indirizzi e-mail

In questo tutorial imparerai-

  • Perché / quando utilizzare la posta PHP
  • Simple Mail Transmission Protocol
  • Sanificazione degli input degli utenti di posta elettronica
  • Posta sicura

Perché / quando utilizzare la posta PHP

Invio di posta tramite PHP

La funzione di posta PHP ha la seguente sintassi di base

QUI,

  • "$ To_email_address" è l'indirizzo email del destinatario della posta
  • "$ Subject" è l'oggetto dell'email
  • "$ Messaggio" è il messaggio da inviare.
  • "[$ Headers]" è facoltativo, può essere utilizzato per includere informazioni come CC, BCC
    • CC è l'acronimo di copia carbone. Viene utilizzato quando si desidera inviare una copia a una persona interessata, ovvero un'e-mail di reclamo inviata a un'azienda può essere inviata anche come CC alla commissione dei reclami.
    • BCC è l'acronimo di blind carbon copy. È simile a CC. Gli indirizzi email inclusi nella sezione Ccn non verranno mostrati agli altri destinatari.

Simple Mail Transmission Protocol (SMTP)

Il mailer PHP utilizza il protocollo SMTP (Simple Mail Transmission Protocol) per inviare la posta.

Su un server ospitato, le impostazioni SMTP sarebbero già state impostate.

Le impostazioni della posta SMTP possono essere configurate dal file "php.ini" nella cartella di installazione di PHP.

Configurazione delle impostazioni SMTP sul tuo localhost Supponendo che tu stia usando xampp su Windows, individua "php.ini" nella directory "C: \ xampp \ php".

  • Aprilo utilizzando il blocco note o qualsiasi editor di testo. Useremo il blocco note in questo esempio. Fare clic sul menu di modifica

  • Fare clic sul menu Trova…

  • Apparirà il menu di dialogo Trova

  • Fare clic sul pulsante Trova successivo

  • Individua le voci
    • [funzione di posta]
    • ; XAMPP: non rimuovere la semicolonna se vuoi lavorare con un server SMTP come Mercury
    • ; SMTP = localhost
    • ; smtp_port = 25
    • Rimuovere i punti e virgola prima di SMTP e smtp_port e impostare l'SMTP sul server smtp e la porta sulla porta smtp. Le tue impostazioni dovrebbero apparire come segue
      • SMTP = smtp.example.com
      • smtp_port = 25
      • Nota che le impostazioni SMTP possono essere ottenute dai tuoi provider di hosting web.
      • Se il server richiede l'autenticazione, aggiungi le seguenti righe.
        • auth_username = Questo indirizzo email è protetto dagli spambots. Devi abilitare JavaScript per vederlo.
        • auth_password = example_password
        • Salva le nuove modifiche.
        • Riavvia il server Apache.

Esempio di posta Php

Vediamo ora un esempio che invia una semplice mail.

Produzione:

Nota: l'esempio precedente accetta solo i 4 parametri obbligatori.

È necessario sostituire l'indirizzo e-mail fittizio sopra con un indirizzo e-mail reale.

Sanificazione degli input degli utenti di posta elettronica

L'esempio precedente utilizza valori hard coded nel codice sorgente per l'indirizzo e-mail e altri dettagli per semplicità.

Supponiamo che tu debba creare un modulo di contatto per gli utenti che compila i dettagli e quindi invia.

  • Gli utenti possono inserire accidentalmente o intenzionalmente codice nelle intestazioni che può provocare l'invio di posta indesiderata
  • Per proteggere il sistema da tali attacchi, è possibile creare una funzione personalizzata che disinfetta e convalida i valori prima che la posta venga inviata.

Creiamo una funzione personalizzata che convalida e disinfetta l'indirizzo e-mail utilizzando la funzione incorporata filter_var.

Funzione Filter_var La funzione filter_var viene utilizzata per disinfettare e convalidare i dati di input dell'utente.

Ha la seguente sintassi di base.

QUI,

  • “Filter_var (…)” è la funzione di validazione e sanificazione
  • "$ Field" è il valore del campo da filtrare.
  • “TIPO DI IGIENIZZAZIONE” è il tipo di sanificazione da eseguire sul campo come ad esempio;
    • FILTER_VALIDATE_EMAIL : restituisce true per indirizzi e-mail validi e false per indirizzi e-mail non validi.
    • FILTER_SANITIZE_EMAIL : rimuove i caratteri illegali dagli indirizzi email. info \ @domain. (com) returns Questo indirizzo email è protetto dagli spambots. Devi abilitare JavaScript per vederlo ...
    • FILTER_SANITIZE_URL : rimuove i caratteri illegali dagli URL. http: //[email protected]é restituisce> http: //[email protected]
    • FILTER_SANITIZE_STRING - rimuove i tag dai valori di stringa. sono in grassetto diventa in grassetto.

Il codice seguente implementa utilizza una funzione personalizzata per inviare posta sicura.

Produzione:

Posta sicura

Le e-mail possono essere intercettate durante la trasmissione da destinatari indesiderati.

Ciò può esporre il contenuto dell'e-mail a destinatari indesiderati.

La posta sicura risolve questo problema trasmettendo e-mail tramite HTTPS (Hypertext Transfer Protocol Secure).

HTTPS crittografa i messaggi prima di inviarli.

Sommario

  • La funzione incorporata in PHP mail () viene utilizzata per inviare posta dagli script PHP
  • I controlli di convalida e sanificazione dei dati sono essenziali per l'invio di posta sicura
  • La funzione incorporata in PHP filter_var () fornisce un modo facile da usare ed efficiente per eseguire la sanificazione e la convalida dei dati