smtp-mail icon indicating copy to clipboard operation
smtp-mail copied to clipboard

<socket: 6>: Data.ByteString.hGetLine: end of file

Open ivnsch opened this issue 7 years ago • 4 comments

I get this error when calling sendMailWithLogin' "smtp.gmail.com" 465 "[email protected]" "password" mail

Nothing else! How do I get more information about the error? Any idea what can be causing it?

ivnsch avatar Nov 13 '17 20:11 ivnsch

+1 to this issue. Problem somewhere in deep of https://github.com/jhickner/smtp-mail/blob/master/Network/Mail/SMTP.hs#L255

nixorn avatar Feb 16 '18 13:02 nixorn

+1 here

ColtHands avatar Jun 24 '18 17:06 ColtHands

This problem also occured with packages like HaskellNet and mime-mail.

For me problem was that my smtp server had a SSL connection security and i don't think this package has a SSL solution.

Below is the working code:

{-# OPTIONS -fno-warn-missing-signatures #-}
{-# LANGUAGE OverloadedStrings #-}

module SendMail (mailer) where

import System.IO
import Network.Mail.Mime
import Network.HaskellNet.SMTP
import Network.HaskellNet.SMTP.SSL
import Network.HaskellNet.Auth
import qualified Data.Text as T
import qualified Data.ByteString as S
import qualified Data.ByteString.Lazy as B

server       = "smtp.yandex.com"
port         = 465
authType     = LOGIN
from         = ""
to           = ""
subject      = "Network.HaskellNet.SMTP Test :)"
plainBody    = "Hello world!"
htmlBody     = "<html><head></head><body><h1>Hello <i>world!</i></h1></body></html>"
attachments  = [] -- example [("application/octet-stream", "/path/to/file1.tar.gz), ("application/pdf", "/path/to/file2.pdf")]

mailer = doSMTPSSL server $ \conn -> do
    putStrLn "usr: "
    username <- getLine
    putStrLn "pass: "
    password <-getLine
    print $ username
    print $ password
    authSuccess <- authenticate authType username password conn
    if authSuccess
        then
            sendMimeMail to from subject plainBody htmlBody [] conn
        else putStrLn "Authentication failed."

The key here is HaskellNet-SSL package wich provides SSL connection and mime-mail that constructs the mails themselves.

ColtHands avatar Jun 27 '18 13:06 ColtHands

Is it possible to add SSL support to smpt-mail package? I discovered the following Reddit post and SSL support was requested 5 years ago:

  • https://www.reddit.com/r/haskell/comments/14vwvs/smtpemail_package_makes_sending_email_a_oneliner/

Apparently, the person who wanted to send PR didn't manage to do this...

chshersh avatar Sep 25 '18 07:09 chshersh