J'envoie des mails de mon site Web en utilisant la fonction PHP Mail. Mais maintenant, cela ne fonctionne pas et j'ai contacté notre équipe d'hébergement, puis ils m'ont dit d'utiliser SMTP car ils ont fait des modifications apportées au serveur. Je ne sais pas comment le faire. Code actuel (avec la fonction PHP Mail) est la suivante, peut-on m'aider sur les changements que je dois faire avec cela.
5 Réponses :
Le courrier voici un Échantillon Script de messagerie SMTP: P> PHP () CODE> La fonction n'a pas de support pour SMTP. Vous allez avoir besoin d'utiliser quelque chose comme le package de courrier de piles .
<?php
require_once("Mail.php");
$from = "Your Name <email@blahblah.com>";
$to = "Their Name <otheremail@whatever.com>";
$subject = "Subject";
$body = "Lorem ipsum dolor sit amet, consectetur adipiscing elit...";
$host = "mailserver.blahblah.com";
$username = "smtp_username";
$password = "smtp_password";
$headers = array('From' => $from, 'To' => $to, 'Subject' => $subject);
$smtp = Mail::factory('smtp', array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);
if ( PEAR::isError($mail) ) {
echo("<p>Error sending mail:<br/>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Message sent.</p>");
}
?>
Comment utiliser le fichier mail.php? /
Mais maintenant, cela ne fonctionne pas et j'ai contacté notre équipe d'hébergement, puis ils m'ont dit d'utiliser SMTP P> blockQuote>
Newsflash - il utilisait SMTP avant. Ils ne vous ont pas fourni les informations dont vous avez besoin pour résoudre le problème - ou que vous ne l'avez pas relayé avec précision ici. P>
Il est possible qu'ils ont désactivé le MTA local sur le serveur Web, auquel cas vous aurez besoin de connecter le port SMTP sur une machine distante. Il y a beaucoup de boîtes à outils qui feront la forte levée pour vous. Personnellement, j'aime phpmailer car il ajoute d'autres fonctionnalités. p>
Certainement s'ils avaient emporté une installation qui y était auparavant et votre paye pour un service, votre fournisseur devrait vous donner un meilleur soutien que cela (il existe également de nombreux programmes à baisser à la place d'un MTA complet qui ferait le travail). P>
c. p>
Notez que les paramètres de courrier PHP proviennent de votre fichier en modifiant votre fichier Mise à jour: Dans la plupart des cas, php.ini code>. La valeur par défaut ressemble plus ou moins à ceci:
php.ini code> Vous devez être capable de résoudre le problème sans changer vos scripts PHP. En outre, vous pouvez tester une connexion avec l'outil Telnet et le
helo code>,
du courrier de code>,
rcpt à code>,
data code> ,
Quittez les commandes code> Si vous vous connectez directement à un serveur SMTP. Avec
sendmail code>, vous n'avez même pas besoin de cela,
sendmail code> devrait savoir ce qu'il fait (bien que dans votre cas, ce n'était probablement pas et le
sendmail code code > Les paramètres ont probablement besoin d'un peu d'aide.) P>
Telnet code> n'est plus installé car il est considéré comme dangereux (c'est-à-dire qu'il vous donne une connexion texte claire qui est généralement une connexion texte claire qui est généralement disponible. Bien sur votre réseau local, mais pas tellement aux ordinateurs distants). Au lieu de cela, nous avons
NC code>
qui est très similaire pour les tests Des choses telles que SMTP mais ne permettent pas vraiment de connexions de shell distantes. Cela étant dit, de plus en plus de SMTP va utiliser le cryptage aussi bien que le meilleur outil pour tester est toujours sendmail code>. P> p>
L'option smtp code> est uniquement pour Windows. Pour * inux il s'appuie sur
sendmail_path code> qui ne prend pas en charge SMTP. Pour cette raison, j'ai bu.
L'option SMTP a fonctionné pour moi. J'ai une installation postfix locale, cependant. Cela peut aider. Avec une installation distante, vous devrez peut-être spécifier l'info de connexion et de mot de passe.AS JCD mentionné.
Étant donné que certaines des réponses donnent ici concernent la mise en place de SMTP en général (et non seulement pour le numéro de notamment @shinod, où il travaillait et arrêté), je pensais que ce serait utile si je mettais à jour la réponse parce que ceci est une beaucoup plus simple à faire maintenant qu'avait :-) p>
in PHP 4 Le package PEAR PEAR est généralement déjà installé, et ce tutoriel vraiment simple vous indique les quelques lignes de code que vous devez ajouter à votre fichier PHP http://email.about.com/od/emailprogramingtiches/qt/php_email_smtp_authentication.htm P>
La plupart des entreprises d'hébergement répertorient les paramètres SMTP dont vous aurez besoin. J'utilise Justhost, et ils énumèrent les leurs à https://my.justhost.com/cgi/help/ 26 (sous Serveur de messagerie sortant) em> p>
EMAILLE La méthode préférée sur Linux est donc de configurer votre postfix pour utiliser un relaishost, qui est effectué par une ligne de p>
in Cependant, dans le scénario de l'OP, je soupçonne en quelque sorte que c'est un travail que son équipe d'hébergement code> aurait dû faire p> PHP () CODE> Fonction MONTES LE COURRIER À UN Agent de transfert de messagerie sous-jacent CODE> qui est généralement
Postfix code> sur Linux Systems P>
relaishost = smtp.example.com code> p>
/etc/postfix/main.cf code> p>