[ASP]Relay serveur SMTP -> Exchange.

Relay serveur SMTP -> Exchange. [ASP] - ASP - Programmation

Marsh Posté le 22-11-2006 à 10:33:38    

J'ai un Serveur IIS 6 (Serveur A) sur lequel tourne mon application ASP qui doit permettre d'envoyer des e-mails.
Sur mon reseau interne les mails sont gérés par un 'serveur B' sur lequel tourne Exchange.
 
Sur le serveur A (IIS) j'ai installé le service SMTP. Lorsque j'envoi un mail à travers mon application, il arrive dans 'c:\Inetpub\Mailroot\Queue'. Mon code marche donc bien:
 

Code :
  1. Dim mailMessage As New CDO.Message
  2.         mailMessage.Sender = "nom.prenom@DomaineAdresseExchange.fr"
  3.         mailMessage.To = "nom.prenom@DomaineAdresseExchange.fr"
  4.         mailMessage.Subject = "Test Mail server ASP"
  5.         mailMessage.TextBody = "Tentative de message"
  6.         mailMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing" ).Value = 2
  7.         mailMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver" ).Value = "IP DE MON SERVEUR IIS"
  8.         mailMessage.Configuration.Fields.Update()
  9.         mailMessage.Send()


 
Par contre les messages restent dans C:\Inetpub\Mailroot\Queue, et n'en partent pas. Comment faire le liens avec le serveur B (Exchange) ? qui lui sera capable de transmettre le mail...
 
Dans le code je ne peux pas mettre directement l'adresse du serveur Exchange (à priori) car la proprièté smtpserver ne convient pas à un serveur Exchange... qui n'est donc pas smtp. C'est donc pour ca que je pense qu'il faut faire un relai avec le SMTP du serveur IIS.
 
Dans les propriétes du serveur SMTP j'ai coché "autoriser tous les ordinateurs à relayer via ce serveur mail"
Et j'ai tenté d'activer le routage LDAP avec dans la case serveur, le nom du serveur B (exchange). Mais ca ne marche pas...
 
Si vous avez des idées je serais ravi !!! Merci d'avance ;)

Reply

Marsh Posté le 22-11-2006 à 10:33:38   

Reply

Marsh Posté le 22-11-2006 à 13:14:08    

J'ai aussi créé un domaine distant dans la partie domaine du server SMTP dans IIS Manager. Avec pour nom ce qu'il ya a après le @ dans mes adresses emails.
 
http://www.petri.co.il/images/smtpverify4.jpg
 
Et comme option dans le domaine de routage j'ai coché : Transférer tout les courriers vers l'hote actif. Avec l'adresse Ip de mon serveur Exchange.
 
http://www.petri.co.il/images/smtpverify8.jpg

Reply

Marsh Posté le 22-11-2006 à 14:56:20    

Hum quand je l'envoi par telnet.. ca passe.
Mais avec le code ca reste dans le repertoire 'Queue' du serveur.
 
EDIT : A force de modifier les réglages du serveur SMTP j'ai fini par arriver à faire marcher le programme...

Message cité 1 fois
Message édité par drfrag le 22-11-2006 à 15:19:10
Reply

Marsh Posté le 07-02-2007 à 23:10:17    

drfrag a écrit :

EDIT : A force de modifier les réglages du serveur SMTP j'ai fini par arriver à faire marcher le programme...


 
Quelles modif as-tu faites? Je suis particulièrement interressé.

Reply

Marsh Posté le 08-02-2007 à 11:02:04    

Je ne saurais plus te dire exactement,
 
Dans IIS manager :  
 
dans 'acces' j'ai connexion annonyme.
 
et dans restriction des relais j'ai 'autoriser tout ordinateur...'
 
et le code :  

Code :
  1. //Sans authentification
  2.         mailMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing" ).Value = 2
  3.         mailMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver" ).Value = "xx.xx.xx.xx" //L'IP de mon serveur
  4.         mailMessage.Configuration.Fields.Update()
  5.         //Envoi Mail
  6.         mailMessage.Send()

Reply

Marsh Posté le 08-02-2007 à 22:44:29    

OK merci pour l'info.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed