[Haskell-cafe] Sending email
David Escobar
davidescobar1976 at gmail.com
Tue Apr 19 01:15:26 UTC 2016
Thanks Alex. I'll start looking into that.
On Mon, Apr 18, 2016 at 3:43 PM, Alexander Vieth <aovieth at gmail.com> wrote:
> Right, you need to STARTTLS and upgrade to a secure connection before
> trying to authenticate, but smtp-mail will not take care of this for you.
> You could do it manually, using the tls package, or you could try
> smtp-mail-ng[1][2].
>
> Alex
>
> [1] https://github.com/avieth/smtp-mail-ng
> [2] https://hackage.haskell.org/package/smtp-mail-ng-0.1.0.1
>
> On Mon, Apr 18, 2016 at 6:36 PM, David Escobar <davidescobar1976 at gmail.com
> > wrote:
>
>> No explicit mention is made anywhere in the documentation about TLS or
>> even SSL, so perhaps not? Some libraries I've come across specifically
>> mention that they don't support TLS or SSL. Being relatively new to this
>> part of Haskell, what is the most standard library the community uses for
>> email that supports modern protocols such as those used by GMail? Thanks.
>>
>> On Mon, Apr 18, 2016 at 2:49 PM, Alex Feldman-Crough <alex at fldcr.com>
>> wrote:
>>
>>> Does the library support TLS? Does it have to be configured differently?
>>> It sounds like a negotiation error to me.
>>> On Mon, Apr 18, 2016 at 2:43 PM David Escobar <
>>> davidescobar1976 at gmail.com> wrote:
>>>
>>>> Hi everyone,
>>>> I'm trying to use the *Network.Mail.SMTP* library to send email:
>>>>
>>>> *{-# LANGUAGE OverloadedStrings #-}*
>>>>
>>>> *module Main where*
>>>>
>>>> *import Control.Exception*
>>>>
>>>> *import qualified Data.Text as T*
>>>> *import qualified Data.Text.Lazy as LT*
>>>> *import Network.Mail.SMTP*
>>>>
>>>> *main :: IO ()*
>>>> *main = do*
>>>> * sendEmail (“Person sender”, “sender at somewhere.com
>>>> <sender at somewhere.com>”)*
>>>> * [(“Person recipient“, “recipient at somewhere.com
>>>> <recipient at somewhere.com>”)]*
>>>> * "Test email"*
>>>> * "Some message goes here."*
>>>>
>>>>
>>>> *sendEmail :: (T.Text, T.Text) -> [(T.Text, T.Text)] -> T.Text ->
>>>> T.Text -> IO ()*
>>>> *sendEmail (fromName, fromEmail) toAddresses subject' body' = do*
>>>> * let toNameAddrs = map (\(toName, toEmail) -> Address (Just toName)
>>>> toEmail) toAddresses*
>>>> * msg = simpleMail (Address (Just fromName) fromEmail)*
>>>> * toNameAddrs*
>>>> * []*
>>>> * []*
>>>> * subject'*
>>>> * [ plainTextPart $ LT.fromStrict body' ]*
>>>> * result <- try $ sendMailWithLogin' "smtp.gmail.com
>>>> <http://smtp.gmail.com>"*
>>>> * 465 -- SSL port*
>>>> * “sender_login”*
>>>> * “sender_password”*
>>>> * msg :: IO (Either SomeException
>>>> ())*
>>>> * case result of*
>>>> * Left e -> putStrLn $ "Exception caught: " ++ (displayException e)*
>>>> * Right _ -> putStrLn "Sent email successfully."*
>>>>
>>>>
>>>> The program compiles, but when I run it, I get:
>>>>
>>>> *Exception caught: <socket: 49>: Data.ByteString.hGetLine: end of file*
>>>>
>>>> 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.
>>>> _______________________________________________
>>>> Haskell-Cafe mailing list
>>>> Haskell-Cafe at haskell.org
>>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>>>>
>>> --
>>> Alex Feldman Crough
>>> 602 573-9588
>>
>>
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> Haskell-Cafe at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20160418/0b15308d/attachment.html>
More information about the Haskell-Cafe
mailing list