7
votes

Classic ASP Envoi d'email avec authentification SMTP

Nous avons hérité d'un site ASP classique d'une agence de design qui voulait simplement que nous effectuions une recherche et remplacez-la aux hôtes SMTP de modification. Pas de problème, nous sommes une boutique PHP mais peut transformer la main à la plupart des choses.

sur une enquête ultérieure, il a été découvert que nous devions vous authentifier avec le nouveau serveur SMTP. P>

Un peu de googling nous amène Pour croire qu'il utilise aspmail 4 et selon les docs, il ne fait pas l'authentification. P>

http://www.serverobjects.com/comp/aspmail4.htm P>

Nous venons de googler "smtpsvg.mailer" à partir de cet appel: p>

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")


1 commentaires

Juste à noter, je ne connais rien à propos de l'ASP ... autre qu'il s'exécute sur des serveurs Windows et il commence les guerres de flamme.


3 Réponses :


1
votes

Vérifiez si le fournisseur d'hébergement prend en charge .NET Framework 2.0 (la plupart do), si cela renomme le fichier .asp sur .aspx, supprimez le code qui envoie l'e-mail et écrivez un code facile:

http://www.systemwebmail.com/faq/3.8.aspx

considère

Thomas


2 commentaires

Malheureusement, le portage des pages ASP existantes sur les pages ASP.NET n'est presque jamais aussi simple que simplement de renommer l'extension de fichier de .aspx, car, entre autres facteurs, il existe des différences significatives entre Microsoft Visual Basic Scripting Edition (VBScript) et Visual Basic. .RAPPORTER. de: msdn.microsoft.com/en-us/library/ms973813.aspx < / a>


Il n'a pas nécessairement besoin de réécrire la page entière, ne faisant que faire un mailsender.aspx qui accepte les données nécessaires en tant que données postales, envoie le courrier et renvoie une valeur de résultat. Mieux que d'utiliser CDO à mon avis.



-3
votes

Selon les docs ici aspmail 4.x ne prends pas en charge l'authentification . On dirait que vous devrez passer à un composant SMTP différent basé sur COM.


3 commentaires

Il a donné le lien dans sa question :)


Pourquoi repousser exactement le même lien gagne un bowvote lorsque ma réponse est autrement identique à la question du premier voté? Je me demandais juste.


Je n'ai pas assez de représentant pour le vote. Cependant, cela pourrait être dû au fait que vous avez lié aux mêmes documents que j'ai liés à ma question indiquant la même chose que je l'ai dit que les Docs disent que cela ne prend pas en charge l'authentification.



20
votes

Comme dit, utilisez CDO.

set config = CreateObject("CDO.Configuration")
sch = "http://schemas.microsoft.com/cdo/configuration/"
with config.Fields
 .item(sch & "sendusing") = 2 ' cdoSendUsingPort
 .item(sch & "smtpserver") = application("smtpserver")
 .item(sch & "smtpserverport") = application("smtpserverport")
 .item(sch & "smtpauthenticate") = 1 'basic auth
 .item(sch & "sendusername") = application("sendusername")
 .item(sch & "sendpassword") = application("sendpassword")
 .update
end with

with CreateObject("CDO.Message")
  .configuration = config
  .to = ...
  .from = ...
  .subject = ....
  .HTMLBody = ....
  call .send()
end with


1 commentaires

Pour les débutants comme moi Application ("Sendansername") doit être défini ailleurs. Si vous ne l'avez pas défini auparavant, utilisez-le directement comme "blabla@blabla.com"