Hoe vermoedelijk 'underscore' probleem in een toepassing oplossen ?

Status
Niet open voor verdere reacties.

leifoet

Gebruiker
Lid geworden
7 okt 2007
Berichten
326
Op een formulier ingevulde en aansluitend opgevraagde (=e-mailadres) gegevens worden opgeslagen in een tabel (B) via 'insert' en ook per e-mail doorgestuurd als volgt.

Input van een naam genereert via een (aangepast van W3School) AJAX database script het passend e-mailadres uit een databasetabel (A) en geeft het door aan de 'e-mailverzender'.
De e-mail versturen en de opslag van de inputgegevens in de tabel (B) lukt, behalve voor een e-mailadres waar een underscore in staat.

Om te testen laat ik alle e-mails naar (TO) mijn adres versturen en zet ik de opgevraagde adressen in FROM. Voor het adres met de underscore gebeurt niets (zichtbaars).

Is er iemand die weet heeft van een dergelijk 'underscore' probleem (en een mogelijke oplossing)
of mij kan helpen detecteren waar (in het script ?) ik het probleem zou kunnen verhelpen ?

Dank en groeten - Leifoet
 
Je informatie is niet echt specifiek, ondanks het aantal gebruikte letters. Mijn antwoord daarom algemeen.

Soms moet je een trucje uithalen om speciale tekens in een database op te slaan. (En ze weer op te vragen.) Ik herinner me dat uit de SQL-omgeving. Controleer eens of er speciale voorwaarden zijn voor het door jou gebruikte databasetype.
 
Alle info is opgeslagen in een Access database.
Je hebt het over een trucje om bepaalde speciale tekens op te slaan. Wat bedoel je daarmee concreet in het geval van de underscore in een e-mailnaam.
Dank - Leifoet
 
Mijn indruk is dat de underscore in het email-adres gezien wordt als een afbreek- of commentaarteken.

Heb je visueel kunnen controleren welk emailadres in dit geval naar de FROM gaat? En hoe de request/response-string er uit ziet? Dat is nl. de enige optie die ik zie.


Een andere, dat de mailmodule geen '_' accepteert lijkt me onwaarschijnlijk, maar toch.

PS:. Wat het trucje betreft: tijdens het verwerken van de string met 'speciale' tekens in probleemsituaties met de ASCII-waarde van die tekens werken.
 
Laatst bewerkt:
Ik heb testen gedaan met adressen-met-underscores in een eerdere toepassing van mijn gebruikelijke mailmodule en ik vrees dat deze module mogelijks toch de boosdoener zou kunnen zijn => worden niet verzonden. Had voorheen (gelukkig) niet te maken met underscores.
Hieronder geef ik de gebruikte codes.
Waar zou het probleem kunnen gesitueerd worden ? Of gebruik ik best een andere mailmodule ? Welke zou dan wel de underscores laten passeren (classic asp) ?
Dank voor tips - Leifoet

Dim objCDOMail
Set objCDOMail = CreateObject("CDONTS.NewMail")


objCDOMail.To = "mijzelf@abc.cd"
objCDOMail.From = Session("mail")

Dim txtBody
txtbody = "TEST" & vbCRLF
txtbody = txtbody & vbCRLF
txtbody = txtbody & vbCRLF
txtbody = txtbody & "TEST" & vbCRLF
txtbody = txtbody & vbCRLF
objCDOMail.Subject = "TEST"
objCDOMail.Body = txtBody

objCDOMail.Send
set objCDOMail=nothing
 
Laatst bewerkt:
Dim objCDOMail
Dim Afzender AS string

Afzender = session("mail") <======
' HIER EEN OPDRACHT OM Afzender op scherm te tonen response.write(?). Sorry. Is 8 jr. geleden voor me
Set objCDOMail = CreateObject("CDONTS.NewMail")


objCDOMail.To = "mijzelf@abc.cd"
objCDOMail.From = Afzender <====

Dim txtBody
txtbody = "TEST" & vbCRLF
txtbody = txtbody & vbCRLF
txtbody = txtbody & vbCRLF
txtbody = txtbody & "TEST" & vbCRLF
txtbody = txtbody & vbCRLF
objCDOMail.Subject = "TEST"
objCDOMail.Body = txtBody

objCDOMail.Send
set objCDOMail=nothing

Je MAIL-object is up-to-date.

Maar misschien helpt een beetje stoeien met een ASP variabele (hier dus afzender)
 
Dim Afzender AS string
geeft volgend error : -Expected end of statement- => moet hier eventueel nog 'iets' aan toegevoegd worden ?

(zonder -AS string- komen de 'normale' mails aan - maar 'underscores' nog niet)


Suggestie om -session("mail")- te printen via -response.write- had mogelijks een piste kunnen zijn. Gezien evenwel mailadressen zonder underscore verzonden worden lijkt mij dit niet zo essentieel (?)

(session varabele : enkel met een session variable lukt de overdracht van de mailadressen vanuit de AJAX-module naar de mailmodule = module-overstijgende variabele - tenzij er andere en betere methodes voorhanden zijn ?)

Dank voor tips - Leifoet
 
Foutje van mij, in de war met een andere BASIC. Sorry.

Dim objCDOMail
Dim Afzender AS string <==== as string mag hier niet

Afzender = session("mail") <======

Mijn idee van tijdelijk, in testfase, het emailadres in een locale variabele op te nemen is:
1. gaat de overdracht naar de module goed
2. wat staat er nou echt in session("mail") als er een '_' in staat. Neem het adres eens in een CC op (of in het subject)

Ter info:
de session-variabele is inderdaad door de hele APPLICATIE te benaderen. In jouw situatie geef je echter de waarde in die variabele door aan CDONTS en niet apart nog het fenomeen session.

Als antwoord:
het is mogelijk de sessionvariabelen in gewone variabelen door te geven. Maar dan kom je al gauw in de situatie terecht dat je met SUB's of FUNCTION's gaat werken.
Je kan waarden dan via argumenten of PUBLIC variabelen toegankelijk maken.
Maar bij een kleine applicatie is dat meer bluffen over hoe goed je kan scripten dan dat het praktisch nut heeft. :rolleyes:
 
test 1 : CDO reeds getest - geen verschil met CDONTS - probleem blijft hetzelfde.

test 2 : in onderstaande code de term "hidden" vervangen door "text" => maakt het mailadres zichtbaar vooraleer het verstuurd wordt naar de mail-module (als op de submit knop gedrukt wordt)
<p><INPUT TYPE="text" SIZE="30" NAME="mail" value="<%response.write Session("mail")%>"></p>
Stel vast dat alle e-mailadressen correct worden weergegeven, ook die met underscores.
De 'hapering' zou bijgevolg kunnen schuilen in de overgang naar de mailmodule - gebeurt met : method="post"

Dank voor tips - Leifoet
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan