I'm seeing a race condition using urweb-email.

An example is attached below.

On the console I see the three TO: addresses reported by Mail.to and
then the three mails are sent with the last of the three addresses.

Should Mail.from, Mail.subject and friends yield transaction header?

Best regards,

Marko
fun solicitText (user : string) : transaction string
  = key <- rand;
    pass <- return (show key);
    return ("Dear ...,\n\n" ^
            "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc 
pellentesque porta" ^
            "congue. Proin quis est est. Pellentesque facilisis at arcu a 
bibendum. Curabitur" ^
            "non sapien quis felis tincidunt pulvinar. Curabitur id orci augue. 
Mauris auctor" ^
            "augue non nisi ornare elementum. Aenean scelerisque urna at nulla 
interdum cursus." ^
            "Nunc finibus augue nunc, eu sodales augue lobortis in. Nullam sed 
molestie eros." ^
            "Aenean ullamcorper tellus turpis, vel efficitur eros pellentesque 
ut. Morbi vitae" ^
            "porta ex, ut aliquam urna. Nunc fringilla velit diam, eget 
convallis felis iaculis" ^
            "in.\n" ^
            "Donec varius, augue vitae maximus laoreet, est erat laoreet 
lectus, id convallis" ^
            "velit lectus a leo. Etiam id luctus quam. Nunc et imperdiet 
libero. Vivamus sit amet" ^
            "urna sit amet ipsum efficitur pretium quis in neque. Suspendisse 
quam magna," ^
            "pharetra auctor vestibulum sit amet, ultrices in dolor. Donec in 
dapibus nulla, sit" ^
            "amet ornare augue. Etiam commodo lacus tellus, sed gravida ligula 
varius" ^
            "eu. Maecenas ante dolor, sagittis ut commodo ut, condimentum ac 
augue. Aenean" ^
            "facilisis pellentesque tellus, nec molestie enim feugiat non. 
Curabitur ipsum augue," ^
            "efficitur eget scelerisque id, rhoncus eget enim. Cras bibendum 
blandit leo, et" ^
            "sagittis risus commodo sed. Praesent consectetur nulla ut 
porttitor blandit. Nunc" ^
            "pretium dictum libero, vel lobortis mi tempus eget. Aenean 
hendrerit ultricies mi," ^
            "in semper velit accumsan a.\n" ^
            "Im futrem usume " ^ show pass ^ "\n\n" ^
            "Sincerely,\n\n" ^
            "Your System.\n"
            )

val sendOneMail (from : string) (to : string) (subject : string) (text : 
string) : transaction unit
  = Mail.send (Mail.subject subject
                            (Mail.to to
                                     (Mail.from from
                                                Mail.empty
                                     )
                            )
              )
              text
              None

val sendMails : transaction unit
  = users <- return ("[email protected]" :: 
"[email protected]" :: "[email protected]" :: []);
    List.app
        (fn user =>
            text <- solicitText user;
            sendOneMail "[email protected]" user "soliciting your data" 
text
        )
        users

fun main () : transaction page
  = sendMails;
    return <xml>Sent</xml>
library ..
rewrite url Multiple/*
allow url main
safeGet main
prefix http://localhost:8080/

$/list

multiple
val sendMails : transaction unit
val main : unit -> transaction page

Attachment: pgpddLwKe8NnB.pgp
Description: OpenPGP Digital Signature

_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur

Reply via email to