Impossibile inviare e-mail. Contattare l'amministratore del sito se il problema persiste


8

Quando il mio modulo Web viene compilato e inviato, vengo reindirizzato a una pagina che dice:

Grazie per aver inviato.

ma c'è una finestra di avvertimento rossa che dice:

Impossibile inviare e-mail. Contattare l'amministratore del sito se il problema persiste.

Penso che sia il server SMTP, ma non so come risolverlo.

Risposte:


12

Prova a usare:

Supporto per autenticazione SMTP

con PHPMailer

Se usi Gmail per configurare STMP, segui questi passaggi:

  1. Server SMTP: smtp.gmail.com
  2. Porta SMTP: 465
  3. Usa protocollo crittografato: usa SSL
  4. Autenticazione SMTP: nome utente e password
  5. Lascia le altre opzioni per impostazione predefinita

2

L'errore:

Impossibile inviare e-mail.

proviene da drupal_mail () ed è considerato molto generico e può riguardare molte cose diverse come errata configurazione del sito Drupal, configurazione PHP o servizio SMTP del sistema operativo.

La prima cosa da fare è controllare il sistema di posta o i registri di Apache (ad es. /var/log/apache2/error.log) Per maggiori dettagli sull'errore, in quanto potresti semplicemente perdere tesendmail stesso (a meno che non desideri utilizzare qualsiasi servizio SMTP esterno).

Se Drupal è ospitato sul tuo server dedicato ed è una configurazione nuova di zecca, molto probabilmente ti manca il server SMTP (poiché punta di localhostdefault), a meno che tu non stia pianificando di utilizzare quello esterno.

Se si tratta della tua macchina di sviluppo locale, ignora l'errore (poiché dovrebbe funzionare correttamente sul server dedicato), prova a installare MailCatcher o dovrai installare il server SMTP come indicato sopra.

Ecco alcuni altri suggerimenti:

  • se si utilizza il modulo SMTP , verificare che sia stato configurato correttamente (consultare il file README ), comprese le impostazioni del server corrette ,
  • controlla il valore della mail_systemvariabile, se è sovrascritto - ripristinalo al valore predefinito ( drush vdel mail_system),
  • controlla la tua configurazione di posta PHP ( php -i | grep -ie mail -e smtp) e conferma che sendmail_path, SMTPhost e smtp_portsono corretti,
  • verificare la connettività al server SMTP utilizzando telnet, ad es

    telnet $(php -r 'echo ini_get("SMTP") . " " . ini_get("smtp_port");')

    per verificare se l'host non è inattivo, risolto dal DNS o non bloccato dal firewall,

  • se si utilizza postfix, verificare se httpd_can_sendmailè impostato su1 ( setsebool httpd_can_sendmail 1).

Infine prova la tua e-mail con il seguente comando PHP:

php -r 'mail("drupal@mailinator.com", "Mail test", "It works!");'

e controlla questa pagina se l'e-mail è stata ricevuta.


1

Controlla il tuo watchdog Drupal e i log degli errori PHP. Potrebbero essere errori di registrazione che ti aiuteranno a capire qual è il problema. Inoltre, verifica con l'amministratore di sistema se le credenziali del server SMTP che stai utilizzando sono valide (ad es. Indirizzo, porta, crittografia, password, ecc.).


1

Se è sufficiente vedere cosa verrebbe inviato, il modulo maillog è molto utile.


1

Sono stato colto da questo problema a causa del problema con la sandbox di Amazon SES. Amazon SES non ti consente di inviare e-mail a domini non verificati in modalità sandbox. Dovresti richiedere l'accesso alla produzione e il problema sarà risolto.


0

Le seguenti impostazioni hanno funzionato per me su Windows.

Se usi Gmail per configurare STMP, segui questi passaggi:

Server SMTP: smtp.gmail.com

Porta SMTP: 465

Usa protocollo crittografato: usa SSL

Autenticazione SMTP - Nome utente e password di Gmail

Lascia le altre opzioni per impostazione predefinita


0

La risposta accettata ha risolto questo problema, ma nota che al momento di questo post, Gmail blocca tutte le applicazioni meno sicure perché il tuo sito drupal non è in esecuzione con HTTPS.

  1. Quindi devi consentire applicazioni meno sicure nel tuo account Gmail di

    • Il mio account> Connessione e sicurezza> Consenti applicazioni meno sicure
    • Oppure segui il link nell'e-mail di avviso ricevuta da Gmail nel momento in cui hai provato a connetterti con il modulo smtp
  2. O ottieni un certificato SSL per il tuo sito drupal.


0

Sugli stessi hosting condivisi Non è possibile inviare e-mail senza creare e-mail per il webmaster. Per es. se hai dominio test.com, devi creare un'e-mail webmaster@test.com o admin@test.com nel tuo pannello e impostare questa e-mail come e-mail principale del sito Web. Questa e-mail sarà nel campo "Da" della tua posta. Oppure crea la tua posta per il dominio e imposta questa posta come principale per il sito. Dipende dalle impostazioni di sicurezza sull'hosting condiviso.


0

Passaggio 1: è possibile impostare SMTP Passaggio 2: riga di comando porta aperta 465 "-A INPUT -p tcp --dport 465 -j ACCEPT"


0

Nel caso in cui aiuti qualcun altro:

Ho ricevuto questo errore e ho scoperto che era perché avevo sia Cc che Ccn impostati sullo stesso indirizzo e-mail nelle intestazioni drupal_mail. (questo perché stavo testando)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.