[Ur] race condition in urweb-email
Marko Schütz Schmuck
markoschuetz at googlemail.com
Tue May 2 14:01:10 EDT 2017
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
-------------- next part --------------
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 ("urweb.test1 at mailinator.com" :: "urweb.test2 at mailinator.com" :: "urweb.test3 at mailinator.com" :: []);
List.app
(fn user =>
text <- solicitText user;
sendOneMail "MarkoSchuetz at gmail.com" user "soliciting your data" text
)
users
fun main () : transaction page
= sendMails;
return <xml>Sent</xml>
-------------- next part --------------
library ..
rewrite url Multiple/*
allow url main
safeGet main
prefix http://localhost:8080/
$/list
multiple
-------------- next part --------------
val sendMails : transaction unit
val main : unit -> transaction page
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP Digital Signature
URL: <http://www.impredicative.com/pipermail/ur/attachments/20170502/60bc6e17/attachment.sig>
More information about the Ur
mailing list