2017-07-21 2 views
0

J'ai une liste de serveurs de messagerie auxquels je souhaite envoyer un e-mail en fonction de l'adresse du destinataire. Par exemple, j'ai ce tableau:Définition du serveur de messagerie cible PHPMailer

<?php 
$_hosts = array("example.com" => "mx1.example.com", "domain.com" => "mx1.domain.com"); 
?> 

Je voudrais donc lors de l'envoi [email protected], pour se connecter à mx1.example.com et déposer l'e-mail là. J'utilise PHPMailer d'envoyer un courriel à [email protected] en utilisant le code suivant:

$mail = new 
$mail->isSMTP(); 
$mail->Host = 'localhost'; 
$mail->Port = '587'; 
$mail->SMTPSecure = 'tls'; 
... 
$mail->addAddress("[email protected]"); 

Ce code fonctionne parfaitement, sauf qu'il envoie le message au serveur de messagerie à example.com. Comment puis-je demander à PHPMailer d'envoyer cet e-mail au mx1.example.com à la place?

Répondre

0

Faites ce dont vous avez besoin pour rechercher l'adresse dans votre matrice, puis définissez Host sur le serveur correspondant que vous souhaitez envoyer. Si vous le laissez sur localhost, il sera toujours envoyé par là.

+0

Merci beaucoup! Je voudrais en fait envoyer via localhost tout le temps, mais je veux qu'il se connecte à un serveur de messagerie spécifique pour supprimer le courrier, au lieu de configurer des enregistrements MX, par exemple. Est ce que je demande même possible, peut-être au moins sur telnet? – Martin

+0

C'est une question différente. C'est quelque chose que vous devrez gérer dans votre serveur de messagerie local - postfix a des cartes de transport qui peuvent fournir un routage comme celui-ci. Vous pourriez le trafiquer en configurant des enregistrements MX fixes dans votre DNS local. – Synchro

+1

Les cartes de transport sont parfaites. Merci beaucoup, @Synchro! J'accepte cela comme une réponse; Ce serait vraiment génial si vous pouviez ajouter cette information dans votre réponse afin que les personnes ayant le même problème puissent trouver une solution. – Martin