2017-03-14 1 views
0

Mon code ci-dessous n'envoie pas d'e-mail au serveur de messagerie pour m'abonner à une liste de diffusion, je suis confus quant à la raison pour laquelle il ne fonctionne pas. n'obtenant aucune réponse envoyée à partir du gestionnaire de liste, si elle est entrée manuellement dans l'e-mail, j'obtiens une réponse ...

<?php 

//thanku webpage routine 
if (isset($_POST['submit'])) 
    { 
    ?> 
<script type="text/javascript"> 
window.location = "http://www.thankyou web url here "; 
</script> 

<?php 
} 
if(isset($_POST['email'])) { 
$to = "email address here" ; 
$message = "SUBSCRIBE list name" ; 
$subject = " "; 
$email = $_POST["email"] ; 
$headers = 'From: '.$email."\r\n". 
'Reply-To: '.$email."\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
mail($to, $subject, $message, $headers); 

    } 
?> 

<form class="rform" method="post" action="https://webform web url"> 

<fieldset><legend><strong>Signup</strong></legend> 
<h4> mailing list text here:</h4> 

<p><label for="email">Email address:</label> <input title="email address." name="email" type='email' pattern=".+(@tvs.ac.uk)|.+(@tvsa.ac.uk)|.+ (@research.gla.ac.uk)" required /> 

</p> 
<input style="float: right;" type="submit" name="submit" value="Subscribe" /> </fieldset> </form> 
+0

Avez-vous une erreur ou pourquoi savez-vous qu'il n'essaie pas d'envoyer un courriel? –

+1

Eh bien, vous dites si (isset ($ _ POST ['submit'])), puis rediriger vers une autre page! Ainsi, lorsque le formulaire est soumis, vous serez redirigé vers une autre page avant d'exécuter une autre partie du code! – Soheyl

+0

Salut ann, merci pour la réponse rapide, le gestionnaire de liste envoie généralement un e-mail, dans mon cas, je ne reçois un! .. merci..singhy – user3723480

Répondre

0
  • Vérifiez les paramètres SMTP de votre serveur. Votre SMTP est-il activé dans votre php.ini?
    • Essayez de vérifier les journaux de votre serveur. Il peut vous donner plus d'informations

Par exemple, avec un essai sur un serveur vide j'ai eu:

PHP Warning: mail(): Impossible de se connecter à MailServer à " localhost " port 25, vérifiez votre " SMTP " et " smtp_port " réglage dans le php.ini ou utilisez ini_set() dans [...] index.php on line 20, referer: http://localhost/

+0

salut loic merci pour la suggestion va essayer quand je vais dans la matinée va demander au serveur folk ... pour s'assurer qu'il n'y a pas d'erreurs etc. ..comme Singhy – user3723480

+0

Comme mentionné par @ Fred-ii, lisez cette question: http://stackoverflow.com/questions/24644436/php-mail-form-doesnt-complete-sending-e-mail?noredirect=1&lq=1 –

+0

salut loic, merci fera .. – user3723480

0

Pour rediriger le javascript n'est pas nécessaire. La redirection doit également être effectuée une fois que la logique requise est terminée. Essayez le script ci-dessous

<? 
if(isset($_POST['email'])) { 
    $to = "email address here" ; 
    $message = "SUBSCRIBE list name" ; 
    $subject = " "; 
    $email = $_POST["email"] ; 
    $headers = 'From: '.$email."\r\n". 
    'Reply-To: '.$email."\r\n" . 
    'X-Mailer: PHP/' . phpversion(); 
    mail($to, $subject, $message, $headers); 

    header('location:http://www.thankyou web url here'); 
} 
?> 
+0

salut siddiq, merci pour l'extrait de code mais je ne reçois pas la réponse du listhandler par exemple si je l'envoie manuellement avec l'objet vide et mettre le nom de la liste d'abonnement dans le corps du message que je reçois la réponse bien .... je me demande où le problème pourrait être ... j'ai le code identique travaillant sur un liste différente quelles réponses très bien ... merci encore pour votre précieux temps ... singhy – user3723480