[Mail] Asp pagina wil geen mail versturen

Pagina: 1
Acties:

  • scorenborgo
  • Registratie: Oktober 2002
  • Laatst online: 19-06-2025
Hoi,

Ik ben bezig om een document management systeem hier binnen het netwerk van ons te installeren.
Er is hier een complete website voor gebouwd doormiddel van asp.
De site host ik op een server van ons hierbinnen het bedrijf. Die server is ook gelijk een mailserver, er wordt gewerkt met exchange.
Met ISS heb ik de site online gebracht en dit werkt dan ook perfect. Alleen als ik een mail wil gaan versturen krijg ik de melding:
Mail not sent, send or authentification failed!

Ik heb al gezocht op de search en ook op google en microsoft kb alleen er is volgens mij weinig over dit probleem bekend vanwege de combinatie van verschillende dingen.

Dit is mijn Global.asa file
ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
On Error Resume Next
Sub Session_OnStart
Session("mailnr") = 0
session.Timeout = 1440 ' the time till session expire and the user have to relog
End Sub
Sub Application_OnStart
Application("URL") = "http://*****/dms/pages/" ' the server url 
Application("language") = "1" ' the default language column 
Application("dbpath") = server.MapPath("../database/") ' the path to database 
Application("docpath") = server.MapPath("../root/") ' the path to documents root folder; this can be also a path like "c:\....", not necessarly a server.mappath object
Application("tempath") = server.MapPath("../templates/") ' the path to templates folder; this can be also a path like "c:\....", not necessarly a server.mappath object 
Application("emailsize") = "1024" ' email maximum attachment size - over that size the files will be archived using rar program
Application("rarpath") = server.MapPath("../rar/") ' the path to the rar.exe file - the application used to archive files over the size provided
' the settings for email to be sent 
Application("from") = "administrator@******.nl"
Application("subject") = "files attached"
Application("smtpServer") = "*****"
Application("smtpUser") = "administrator" ' only if required
Application("smtpPass") = "********" ' only if required
Application("temppath") = server.MapPath("../temp/") ' temporary folder used for makeing the volumes of the archive
Application("temporary") = server.MapPath("../temporary/") ' the path on server of the folder where the isah will put files to be atached to an email
'settings for remote database to connect to for characteristics
Application("connstr") = "DSN=dms; UID=****; PASSWORD=*****" ' connection string for users
'settings for remote database to connect to for users
Application("usrconnstr") = "DSN=dms; UID=****; PASSWORD=*****" ' connection string for users
End Sub
</SCRIPT>

In mijn ogen is dit script dan ook goed de usernames zijn goed en de wachtwoorden ook, de smtp server heb ik gewoon de computernaam ingevuld van de mailserver.

Bij ISS kan ik geen SMTP toevoegen terwijl dit wel onder software geinstalleerd is, dit komt volgens mij vanwege exchange maar is dit ook wel nodig?
Of moet ik iets veranderen in exchange.

Ik hoop dan ook dat iemand mij verder kan helpen denk dat dit dan ook wel een uitdagend probleem is.

Alvast bedankt,

[ Voor 11% gewijzigd door gorgi_19 op 15-09-2004 11:47 ]


  • Luppie
  • Registratie: September 2001
  • Laatst online: 01-03 23:21

Luppie

www.msxinfo.net

Application("smtpServer") = "*****"
Application("smtpUser") = "administrator" ' only if required
Application("smtpPass") = "********" ' only if required
Hiervan zou ik maken :

Application("smtpServer") = "127.0.0.1"
(127.0.0.1 is hetzelfde als localhost oftwel je exchange server, servernaam hoeft dus niet en dit is meestal foolproof)

Application("smtpUser") = "" ' only if required
Niet nodig, Exchange op dezelfde bak en exchange accepteerd wel een relay van zichzelf.

Application("smtpPass") = "" ' only if required
Geen account dus ook geen wachtwoord nodig.

[ Voor 42% gewijzigd door Luppie op 15-09-2004 11:15 ]

Heb je iets aan mijn antwoord ? Een thumbs-up wordt zeker op prijs gesteld.


  • scorenborgo
  • Registratie: Oktober 2002
  • Laatst online: 19-06-2025
Bedankt voor de opmerking.
Maar dit geeft hetzelfde resultaat

Ja dit klopt dit hebben we ook hele tijd gebruikt geen username en password.
Maar helpt niet daarom is het ook zo raar probleem

Windows Versie = Microsoft Windows 2000 SP4
Exchange Versie = Exchange 2000 SP3
IIS Versie = 5.5

[ Voor 76% gewijzigd door scorenborgo op 15-09-2004 11:52 ]


  • Luppie
  • Registratie: September 2001
  • Laatst online: 01-03 23:21

Luppie

www.msxinfo.net

Misschien ook wel handig om even de versies te vermelden van Windows / IIS / Exchange.

Heb je iets aan mijn antwoord ? Een thumbs-up wordt zeker op prijs gesteld.


Verwijderd

Laat anders even de code zie waar een mail verstuurt wordt.

Settings met veel ***** helpen ons natuurlijk ook niet.

  • scorenborgo
  • Registratie: Oktober 2002
  • Laatst online: 19-06-2025
Die sterretjes zijn gewoon server namen en username en wachtwoorden.

Verwijderd

scorenborgo schreef op 15 september 2004 @ 11:25:
Die sterretjes zijn gewoon server namen en username en wachtwoorden.
I know ;-)

Maar een zelf gemaakte spelfout zien mensen vaak over het hoofd.

Kun je wel via een andere applicatie via de SMTP van die server mailen?

  • scorenborgo
  • Registratie: Oktober 2002
  • Laatst online: 19-06-2025
Ja het normale email verkeer functioneert perfect van buiten naar binnen en van binnen naar buiten. En binnen in het bedrijf zelf ook.

[ Voor 61% gewijzigd door scorenborgo op 15-09-2004 11:30 ]


Verwijderd

Weet je zeker dat SMTP wel werkt? Outlook gebruikt exhange en niet SMTP.

  • scorenborgo
  • Registratie: Oktober 2002
  • Laatst online: 19-06-2025
Telnet op poort 25 geeft ready op esmtp

Verwijderd

Kun je wat code laten zien waar daadwerkelijk een mail verstuur wordt?

  • Dukey
  • Registratie: November 2000
  • Laatst online: 12-04 22:43

Dukey

Ik heb dit getypt hier -->

Dit is een emailscript van mezelf wat ik altijd gebruik. Probeer hem eens te runnen op jouw machine. Misschien zit wel ergens een foutje in jouw script en met "on error resume" gedoe kom je daar natuurlijk niet achter.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
sub sendemail(ByRef receiver,ByRef subject, ByRef body)
dim objCDOSYSMail
set objCDOSYSMail = CreateObject("CDO.Message")
dim iBp
dim Flds

dim objCDOSYSCon
set objCDOSYSCon = CreateObject("CDO.Configuration")
set Flds = objCDOSYSCon.Fields
Flds("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") = "c:\Inetpub\mailroot\Pickup"
Flds("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "server"
Flds("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
Flds("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1 'cdoSendUsingPort
Flds("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
Flds.Update

with objCDOSYSMail
set .Configuration = objCDOSYSCon
    .to          = receiver
    .From        = "iemand@ergens.nl"
    '.ReplyTo     = "iemand@ergens.nl"
        .Subject     = subject
        '.TextBody    = body
        .HTMLBody    = body
    '.cc          = "iemand@ergens.nl"
    '.bcc         = "iemand@ergens.nl"
     
  'set iBp =  .AddAttachment("c:\somefile.doc")
  'iBp.ContentMediaType="application/msword"
  'set iBp =  .AddAttachment("c:\anotherfile.html")
  'iBp.ContentMediaType="text/html"

  .Send
end with

set objCDOSYSMail = nothing
set objCDOSYSCon = nothing
end sub



in je asp pagina een mail versturen middels:
code:
1
call sendemail("iemand@ergens.nl","onderwerp","bericht")

Ook wel de allergrootste _ _ _ _ _ (vul in met blokletters)


  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

Laat ik deze even naar het juiste subforum verplaatsen :)

SA > PW

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 20:41
Kun je vanaf die server wel een e-mail versturen met telnet ?

Dus iets van:
code:
1
2
3
4
5
6
7
telnet localhost 25
helo ik
mail from: info@tweakers.net
rcpt to: <jouw e-mail adres>
data
Bla di bla
.

Overigens, IIS; International Space Station heeft daar weinig mee van doen :D

En kijk anders ff in je SMTP log waarom er geen mail verstuurd wordt.

[ Voor 13% gewijzigd door StevenK op 15-09-2004 11:46 ]

Was advocaat maar vindt het juridische nog steeds leuk. Doet tegenwoordig iets in de metaal.


  • The Lord
  • Registratie: November 1999
  • Laatst online: 22:59
Meest voorkomende probleem is dat IIS onder IUSR (anonymous user) of IWAM account draait. En deze heeft na een bepaalde security update van MS geen mogelijkheid meer om via CDO mail te versturen.

Gebruik maken van authenticatie en authorisatie op de mailserver kan dit oplossen, maar vaak wordt vergeten dit ook daadwerkelijk op de SMTP server als mogelijkheid in te stellen.

Vraag: staat authenticatie aan op de SMTP server en indien dit het geval is, kan het account dat je gebruikt na authenticatie daadwerkelijk mailen? Dit laatste kun je het beste testen m.b.v. Telnet.

edit:
Houd er rekening mee dat als je naar externe domeinen wil versturen je ook relay aan moet hebben staan!

[ Voor 10% gewijzigd door The Lord op 15-09-2004 11:56 ]

geeft geen inhoudelijke reacties meer


Verwijderd

Versturen middels een Telnetsessie werkt naar behoren, authenticatie is daar niet noodzakelijk. Bij access-control van de Virtual Smtp server in Exchange staan anonymous, basic en integrated aangevinkt. Relaying is toegestaan voor een externe server, de server zelf uiteraard en voor alle computers die zich succesvol authentificeren. Outbound security staat alleen ingesteld op 'anonymous access'.

  • Dukey
  • Registratie: November 2000
  • Laatst online: 12-04 22:43

Dukey

Ik heb dit getypt hier -->

Verwijderd schreef op 15 september 2004 @ 11:58:
Versturen middels een Telnetsessie werkt naar behoren, authenticatie is daar niet noodzakelijk. Bij access-control van de Virtual Smtp server in Exchange staan anonymous, basic en integrated aangevinkt. Relaying is toegestaan voor een externe server, de server zelf uiteraard en voor alle computers die zich succesvol authentificeren. Outbound security staat alleen ingesteld op 'anonymous access'.
Ben jij nou in een keer de TS? Of wat mis ik hier...

Ook wel de allergrootste _ _ _ _ _ (vul in met blokletters)


Verwijderd

Ik ben niet ineens de ts. Ik heb goed opgelet bij Charmed maar de verwisseltruc heb ik nog niet onder de knie :). Ik werk samen met TS en heb zodoende dezelfde info.

  • scorenborgo
  • Registratie: Oktober 2002
  • Laatst online: 19-06-2025
Dit is een stukje van mijn mail.asp script

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 if action = "sendMail" then
    if Request.QueryString("cc") <> "" then
        CC = Request.QueryString("cc")
    end if
    addr =  replace(Request.QueryString("address"),",",">;<")
    if objMail.InitParameters (Application("smtpServer"),Application("smptUser"),Application("smptPass"),Request.QueryString("from"),addr,CC,Application("subject"),Request.QueryString("message"),Request.QueryString("from")) < 0 then Response.Write "<script>alert('" & objMail.LastErrorMessage & "');</script>"
    if objTempo.GetFiles(Application("temporary")) < 0 then Response.Redirect "error.asp?page=mail.asp&err="
    count = 0
    for i = 1 to objTempo.FileCount 
        if Request.QueryString("file" & i) = "on" then
            count = count + 1
        end if
    next
    objMail.SetAttachementsNr cint(session("mailnr")) + count
    for i = 1 to session("mailnr")
        if session("idd" & i) = "0" then
            if objTem.OpenTemplates (clng(session("idf" & i))) < 0 then Response.Redirect "error.asp?page=mail.asp&err=" & objTem.ErrorText & " in open template"
            if not objTem.Eof then
                fpath = objTem.Path 
                if objMail.AddAttachement (CStr(fpath)) < 0 then Response.Write "<script>alert('" & objMail.LastErrorMessage & "');</script>"
            end if
        else
            if objDoc.OpenDocuments (clng(session("idf" & i))) < 0 then Response.Redirect "error.asp?page=mail.asp&err=" & objDoc.ErrorText & " in open document"
            if not objDoc.Eof then
                fpath = Application("docpath") & "\" & objDoc.Path
                if objMail.AddAttachement (CStr(fpath)) < 0 then Response.Write "<script>alert('" & objMail.LastErrorMessage & "');</script>"
            end if
        end if
    next
    for i = 1 to objTempo.FileCount 
        if Request.QueryString("file" & i) = "on" then
            fpath = Application("temporary") & "\" & objTempo.FileName(clng(i))
            if objMail.AddAttachement (CStr(fpath)) < 0 then Response.Write "<script>alert('" & objMail.LastErrorMessage & "');</script>"
        end if
    next
    if objMail.EmailAttachements (Application("temppath"),Application("rarpath"),session.SessionID,cint(Application("emailsize"))) < 0 then Response.Write "<script>alert('" & objMail.LastErrorMessage & "');</script>"
    session("mailnr") = 0
    for i = 1 to objTempo.FileCount 
        if Request.QueryString("file" & i) = "on" then
            fpath = Application("temporary") & "\" & objTempo.FileName(clng(i))
            if objTempo.delFile (CStr(fpath)) < 0 then Response.Redirect "error.asp?page=mail.asp&err="
        end if
    next
    Response.Write "<script>alert('" & objUserInfo.getmessage(167) & "');</script>"
end if
if action = "removeAttach" then
    session("mailnr") = session("mailnr") - 1
    for i = cint(Request.QueryString("ii")) to cint(session("mailnr"))
        session("idf" & i) = session("idf" & i + 1)
    next
end if 

[ Voor 21% gewijzigd door scorenborgo op 15-09-2004 15:31 ]


  • The Lord
  • Registratie: November 1999
  • Laatst online: 22:59
Verwijderd schreef op 15 september 2004 @ 11:58:
Versturen middels een Telnetsessie werkt naar behoren, authenticatie is daar niet noodzakelijk.
Als dat niet noodzakelijk is, waarom dan wel in het script? Of test je met Telnet een andere situatie dan waarin het script zijn werk moet doen?
Bij access-control van de Virtual Smtp server in Exchange staan anonymous, basic en integrated aangevinkt. Relaying is toegestaan voor een externe server
Alleen voor inbound mail neem ik aan (just checking)
, de server zelf uiteraard en voor alle computers die zich succesvol authentificeren. Outbound security staat alleen ingesteld op 'anonymous access'.
Klinkt alsof je inderdaad met telnet iets anders test dan je script behoort te doen?

geeft geen inhoudelijke reacties meer


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 19:24

gorgi_19

Kruimeltjes zijn weer op :9

scorenborgo
Kan je [code=asp][/code] tags rondom je code zetten? :) In je beginpost heb ik het gedaan, maar ik blijf het niet doen :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • scorenborgo
  • Registratie: Oktober 2002
  • Laatst online: 19-06-2025
Ik wou als eerste iedereen bedanken voor het meehelpen denken en proberen oplossen van het probleem.
We zijn eruit en we weten waar het aan ligt.
Het had te maken in IIS dat we digist windows authentication een keer moesten aanvinken en er zat een foutje in het class bestand. En in de Global.asa moeten we nu wel username en password gebruiken.
Maar het werkt nu :)
Pagina: 1