<div dir="ltr">Not to throw another spanner in the works with Yet Another Package to try, but another option is HaskellNet[1] with HaskellNet-SSL[2] for your TLS connection.  I originally wrote the HaskellNet-SSL wrapper but it's currently being maintained by Leza Morais Lutonda.  It works with gmail.  I haven't tried any of the other SMTP options and I mostly used it for IMAP, not SMTP, so I can't compare them directly or recommend one over the other -- just throwing it out there as another option!<div><br></div><div>[1]: <a href="http://hackage.haskell.org/package/HaskellNet">http://hackage.haskell.org/package/HaskellNet</a></div><div>[2]: <a href="http://hackage.haskell.org/package/HaskellNet-SSL">http://hackage.haskell.org/package/HaskellNet-SSL</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">2016-04-19 6:42 GMT+09:00 David Escobar <span dir="ltr"><<a href="mailto:davidescobar1976@gmail.com" target="_blank">davidescobar1976@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi everyone,<div>I'm trying to use the <i>Network.Mail.SMTP</i> library to send email:</div><div><br></div><div><div><font face="monospace, monospace" size="1" color="#351c75"><b>{-# LANGUAGE OverloadedStrings #-}</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b><br></b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>module Main where</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b><br></b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>import Control.Exception</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b><br></b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>import qualified Data.Text as T</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>import qualified Data.Text.Lazy as LT</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>import Network.Mail.SMTP</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b><br></b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>main :: IO ()</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>main = do</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>  sendEmail (“Person sender”, “<a href="mailto:sender@somewhere.com" target="_blank">sender@somewhere.com</a>”)</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>            [(“Person recipient“, “<a href="mailto:recipient@somewhere.com" target="_blank">recipient@somewhere.com</a>”)]</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>            "Test email"</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>            "Some message goes here."</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b><br></b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b><br></b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>sendEmail :: (T.Text, T.Text) -> [(T.Text, T.Text)] -> T.Text -> T.Text -> IO ()</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>sendEmail (fromName, fromEmail) toAddresses subject' body' = do</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>  let toNameAddrs = map (\(toName, toEmail) -> Address (Just toName) toEmail) toAddresses</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>      msg = simpleMail (Address (Just fromName) fromEmail)</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>                       toNameAddrs</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>                       []</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>                       []</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>                       subject'</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>                       [ plainTextPart $ LT.fromStrict body' ]</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>  result <- try $ sendMailWithLogin' "<a href="http://smtp.gmail.com" target="_blank">smtp.gmail.com</a>"</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>                                     465 -- SSL port</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>                                     “sender_login”</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>                                     “sender_password”</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>                                     msg :: IO (Either SomeException ())</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>  case result of</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>    Left e -> putStrLn $ "Exception caught: " ++ (displayException e)</b></font></div><div><font face="monospace, monospace" size="1" color="#351c75"><b>    Right _ -> putStrLn "Sent email successfully."</b></font></div></div><div><font face="monospace, monospace" size="1" color="#351c75"><b><br></b></font></div><div><br></div><div>The program compiles, but when I run it, I get:</div><div>







<p><span><font face="monospace, monospace"><b>Exception caught: <socket: 49>: Data.ByteString.hGetLine: end of file</b></font></span></p><p><span>I tried using the TLS port of 587, but then I just get an authentication failure. Am I using the wrong library or is it just the wrong configuration. Thanks.</span></p></div></div>
<br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>