2010-08-16 18 views
0

Je suis en train de mettre à jour mes pages Web d'asp classic vers asp.net. Mon code précédent utilisait CDO pour envoyer des emails.Aucune connexion n'a pu être établie car la machine cible l'a refusée activement

sch = "http://schemas.microsoft.com/cdo/configuration/" 
       Set cdoConfig = CreateObject("CDO.Configuration") 

        With cdoConfig.Fields 
         .Item(sch & "sendusing") = 2 
         .Item(sch & "smtpserver") = "mail.mydomain.com" 
         .update 
        End With 

       Set cdoMessage = CreateObject("CDO.Message") 

        strTo = "[email protected]" 

       strFrom = "[email protected]" 

       strSubject = "email subject" 
       strBody = strBody & "This is the email body" 


       With cdoMessage 
         Set .Configuration = cdoConfig 
         .From = strFrom 
         .To = strTo 
         .Subject = strSubject 
         .HTMLBody = strBody 
         .Send 
       End With 

       Set cdoConfig = Nothing 
       Set cdoMessage = Nothing 

Ce code fonctionne bien, mais j'aimerais envoyer des courriels de mes pages asp.net. Lorsque j'envoie des pages .net, je reçois le message d'erreur: « Aucune connexion n'a pu être établie car la machine cible activement refusé xx.xx.xxx.xxx:2~~V~~singular~~3rd »

Mes paramètres web.config:

<system.net> 
    <mailSettings> 
     <smtp from="[email protected]"> 
      <network host="mail.mydomain.com" port="2"/> 
     </smtp> 
    </mailSettings> 
</system.net> 

et la section de code qui me donne l'erreur:

 Dim mailmsg As New MailMessage("[email protected]", txtSubmitterEmail.Text) 

     mailmsg.Subject = "subject here" 
     mailmsg.Body = "mail body here" 
     mailmsg.IsBodyHtml = True 

     Dim smtp As New SmtpClient 

     smtp.Send(mailmsg) 

Je suis assez nouveau pour .Net mais j'ai cherché pendant des heures et ne peut pas trouver une raison pour laquelle l'ancien le code fonctionne mais pas le nouveau. Merci d'avance pour l'aide!

Répondre

3

Le serveur SMTP que vous voulez atteindre est probablement sur le port 25.

<network host="mail.mydomain.com" port="25"/> 

Ceci est différent de la directive sendusing.

+2

Si l'OP l'a manqué: lorsque le message d'erreur indique "xx.xx.xxx.xxx:2", le dernier numéro est le numéro de port. SMTP est conventionnellement sur le port 25. – Bevan

+0

Merci! Ça a marché. Je n'ai pas essayé le port 25 car le code utilisant CDO fonctionnait avec le port 2. – zeroef