Toon posts:

[ASP] Controleren beschikbaarheid mailcomponent *

Pagina: 1
Acties:
  • 47 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

ik wil(de) voor iemand die ik goed ken een mailform schrijven voor zijn website. Dat had ik netjes gedaan in de taal waarmee ik goed uit de voeten kan (php), maar nu blijkt dat op zijn server geen php draait, maar asp.

Ik ben nu bezig met allerlei asp scripts om die taal wat te leren kennen, maar na enig proberen, lukt het emailen vanuit asp me nog niet.

Ik heb een paar vraagjes n.a.v. de website waarmee ik werk (http://www.w3schools.com/asp/). Via deze site wil ik namelijk de taal asp leren.

vragen:
1: hoe kan ik zien of ik op de hosting waarvoor ik het script schrijf, ook kan emailen? In php zou ik een scriptje phpinfo(); draaien, en kijken of ik de rechten heb; bij asp weet ik niet waar ik moet kijken...
2: Ik heb geprobeerd om het simpelste script te gebruiken dat op deze (http://www.w3schools.com/asp/asp_send_email.asp) pagina staat...

code:
1
2
3
4
5
6
7
8
<%
Set myMail=CreateObject("CDO.Message")
myMail.Subject="Sending email with CDO"
myMail.From="roberto_groningen@hotmail.com"
myMail.To="rrroberto@hotmail.com"
myMail.TextBody="This is a message."
myMail.Send
%>

De 2 emailadressen bestaan, maar ik krijg geen mail, en de volgende fout:

code:
1
2
3
4
5
CDO.Message.1 error '80040220' 

The "SendUsing" configuration value is invalid. 

/asp/a.asp, line 7
Vraag n.a.v. deze fout is hoe ik de sendusing config 'valid' kan maken.

Wie kan me even een zetje de goede richting in duwen? Ik ben nog vrij nieuw in asp, maar weet wel veel van php, dus volgens mij moet ik vrij snel de logica van asp scripts kunnen snappen.

Verder ben ik nog erg opzoek naar goede sites voor asp. Degene die ik gegeven heb lijkt al heel aardig (ben er nog niet erg lang op), maar als er meer goeie sites zijn, zou ik graag een berichtje met een verwijzing hiernaar willen ontvangen. Iets als http://www.php.net voor asp lijkt me erg handig.

Alvast bedankt...

gr. RP.

[ Voor 6% gewijzigd door Verwijderd op 31-07-2004 22:22 ]


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
Heb je msdn.microsoft.com al geprobeerd? Dat is ongeveer www.php.net maar dan voor asp :) Zoek daar maar eens op CDO.Message, dan vind je wel wat je zoekt.
Volgens mij moet je nog ff in je script aangeven welke mailserver je gebruikt, maar hoe precies weet ik niet meer.

[edit] hier dan, een directe link naar het zoekresultaat: http://search.microsoft.c...w=msdn&st=b&c=4&s=1&swc=4

[ Voor 23% gewijzigd door zneek op 31-07-2004 22:21 ]


  • user109731
  • Registratie: Maart 2004
  • Niet online
Hier de code die ik gebruik, werkt perfect en razendsnel!
Dit is wel CDOSYS ofzo, geen CDO. Ik weet hier verder niet zoveel van...
Ik weet niet of je server het ondersteunt?

Niet vergeten een smtp-server in te vullen en de mailadressen te veranderen!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%
        Dim Message, iConf, Flds 
        Set Message = Server.CreateObject("CDO.Message") 
        set iConf = CreateObject("CDO.Configuration")
        Set Flds = iConf.Fields
        Flds.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
        Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.xxx.nl"
        Flds.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 
        Flds.Update
        set Message.Configuration = iconf
        
        bericht = "<html><body>Dit is een test mail...</body></html>"

        Message.From = "test@test.nl"
        Message.To = "Test2@Test.nl"
        Message.Subject = "Onderwerp: Test" 
        Message.HTMLBody = bericht 
        Message.Send 
        Set Message = nothing 
%>

Dit ASP-script verstuurt dus een HTML-mail.

EDIT: Sommige providers hebben anti-spam maatregelen genomen. Mijn provider (sohosted) bijv. verstuurt alleen e-mails die van je eigen domeinnaam af komen, dus geen hotmail.com.

[ Voor 28% gewijzigd door user109731 op 31-07-2004 22:38 ]


Verwijderd

Topicstarter
Bedankt voor het snelle antwoord...

Hier kom ik uit...
http://www.microsoft.com/..._send_e-mail_messages.asp

Maar als ik een van de codes invoer in mijn testscript (a.asp) komt er 500 interne server fout als ik het voorbeeld letterlijk kopieer.

Doe ik echter iets als:
code:
1
2
3
<%
response.write("thest")
%>

dan komt netjes 'thest' in beeld, dus asp werkt opzich wel.

Kom ik even terug op een eerdere vraag: hoe kan ik zien of het mogelijk moet zijn om met mijn hoster, mail te versturen via asp? (dus phpinfo() functie voor asp, of eventueel een heel simpel testscript)?

edit: k zie net de 2e reactie, en ga direct ff proberen....

[ Voor 8% gewijzigd door Verwijderd op 31-07-2004 22:40 ]


Verwijderd

Topicstarter
Ook bij het voorbeeld script (waarvoor overigens mijn grote dank), krijg ik de 500 pagina, interne serverfout pag. kan niet weergegeven worden).

Kan het te maken hebben met de rechten, of doet ASP daar niet aan? Het klinkt me vrij unix / linux in de oren, dus misschien heeft asp er geen last van, maar mijn rechten voor de bestanden staan op 0000 volgens mij (k kijk in ultra edit naar de rechten van de ftp bestanden, en zie geen enkel vinkje aan staan...).

Kan dat het probleem zijn?

Of nog iets anders?

:S

  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
check het voorbeeld van VB_Programmer, dat lijkt me goed. Lang geleden dat ik CDO.MEssage gebruikt heb, zit niet meer in Win2K3.

Ow ja, zet je in je IE http friendly error messages uit, dan krijg je de foutmelding tekst te zien.

[ Voor 29% gewijzigd door zneek op 31-07-2004 23:34 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:50

gorgi_19

Kruimeltjes zijn weer op :9

Gekke opmerking misschien, maar voor de voorwaarden en de beschikbaarheid van een component: mail de hoster? Misschien dat ze CDO / CDOSys wel uitgeschakeld hebben en gebruik maken van een ander component?

Verder zullen de meeste hosters wel een FAQ oid beschikbaar hebben, waarop een voorbeeldmailscript staat :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Pogostokje
  • Registratie: September 2001
  • Laatst online: 23-05 16:23

Pogostokje

* twiet *

Verwijderd schreef op 31 juli 2004 @ 22:43:
Ook bij het voorbeeld script (waarvoor overigens mijn grote dank), krijg ik de 500 pagina, interne serverfout pag. kan niet weergegeven worden).
Kan het te maken hebben met de rechten, of doet ASP daar niet aan?
Natuurlijk doet ASP (of eigenlijk IIS) aan rechten. ;)
Als je een 500 fout krijgt, is het geen rechten probleem. Dan krijg je iets anders, afhankelijk van welk recht je niet hebt.
maar mijn rechten voor de bestanden staan op 0000 volgens mij (k kijk in ultra edit naar de rechten van de ftp bestanden, en zie geen enkel vinkje aan staan...).
Bestandsrechten van windows omgevingen zijn 1000x uitgebreider dan je ooit in Linux/Unix kan doen. Deze zijn ook niet via FTP uit te lezen. Daar hoef je dus ook niet naar te kijken. De hoster zorgt er voor dat alles standaard goed komt. Of je wel of niet daar zelf veranderingen in kan aanbrengen bepaalt de hoster ook. Meestal is dat onder windows niet het geval en is daar ook geen noodzaak voor. Wat niet voor een bezoeker beschikbaar moet zijn, moet niet in de document root staan.

Verdiep je even meer in ASP en IIS, want je denkt nu veel veel in Linux. ;)
Bij het openen van een component onder ASP (bv. VBScript) krijg je als het niet lukt een melding terug die je kan afvangen in het script of die anders op de browser te zien is (can't create blablabla). Lukt het openen, dan is het component aanwezig. Probeer maar eens het component een andere (foute) naam te geven, dan zie je vanzelf dat je een melding krijgt over dat er geen instance kon worden gemaakt.

... ook ik heb soms per ongeluk gelijk.


Verwijderd

Topicstarter
Bedankt voor de reacties....
Ondertussen heb ik 't nu redelijk aan de praat...

Het lag aan een verkeerde smtp server, en misschien nog aan andere dingen, dat weet ik niet; ik kreeg namelijk heel vaak error 500 pagina's, dus vermoedde ik wat anders...

Verwijderd

Topicstarter
Toch nog even een vraagje, voor iets dat niet helemaal goed werkt.

Ik wil geen html mail, maar plain tekst. In de pagina waarvoor ik het maak, kun je een aantal dingen invoeren, zoals naam, adres etc.

Door het versturen van het formulier met ingevulde gegevens, komen er allerlei variabelen vrij, die ik in het emailtje wil zetten, ter bevestiging. Probleem is alleen dat ik niet weet hoe ik een 'enter' moet neerzetten. Daardoor wordt alles achter elkaar aangezet....

Script-deel dat relevant is:

code:
1
]mailinhoud = geslacht & " " & voorletters & " " & achternaam & " \n"&adres & "\n "&postcode & " " & woonplaats & "\n "


code:
1
Mailer.BodyText = mailinhoud


Toevoeging voor de variabele mailinhoud: De variabele geslacht bevat óf Dhr. of Mevr. De voorletters en achternaam etc... zijn wel redelijk vanzelfsprekend.

Probleem is dus dat ik de mails die verstuurd worden, er geen enter is tussen bijv. 'achternaam' en 'adres'.

Zoals u ziet heb ik \n geprobeerd, maar dat werkt niet. <br> ook niet. Wat wel werkt is als ik met textareas werk. Als ik in het formulier een textarea maak, en hierin enters toets, dan komen de enters wél door in de mail. Alleen dat is niet wat ik wil.

Wie weet hoe ik mijn probleem het beste kan oplossen?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:50

gorgi_19

Kruimeltjes zijn weer op :9

VbCrLf

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Thnx!

Weet iemand trouwens waar dat (vbCrlf) voor staat?
Het werkt prima hoor, maar ik onthoud een afkorting beter als ik weet waarvoor het staat (<br> als 'break') etc.

vb zal staan voor vbscript denk ik, aar Crlf kan k nog niet bedenken...

[ Voor 97% gewijzigd door Verwijderd op 01-08-2004 12:08 ]


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Zet eens "friendly http error message" oid uit, dan zie je gewoon de foutmelding ipv 500.

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
Verwijderd schreef op 01 augustus 2004 @ 11:59:
Thnx!

Weet iemand trouwens waar dat (vbCrlf) voor staat?
Het werkt prima hoor, maar ik onthoud een afkorting beter als ik weet waarvoor het staat (<br> als 'break') etc.

vb zal staan voor vbscript denk ik, aar Crlf kan k nog niet bedenken...
Windows Script 5.6 Documentation O-)

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 15:50

gorgi_19

Kruimeltjes zijn weer op :9

* gorgi_19 doet het topic maar dicht.... Als we aankomen op het niveau van "Hoe maak ik een newline in VBScript?" en "Wat betekent VBCrLf", dan zit je verkeerd in Programming & Webscripting. Immers, beiden zijn goed te vinden met Google en behoren zelfs tot de basiskennis. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.