HaskellNet 0.2.4 → 0.2.5
raw patch · 3 files changed
+18/−6 lines, 3 filesdep ~mime-mailPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: mime-mail
API changes (from Hackage documentation)
- Network.HaskellNet.SMTP: sendMimeMail :: BSStream s => String -> String -> String -> Text -> Text -> [(String, FilePath)] -> SMTPConnection s -> IO ()
+ Network.HaskellNet.SMTP: sendMimeMail :: BSStream s => String -> String -> String -> Text -> Text -> [(Text, FilePath)] -> SMTPConnection s -> IO ()
Files
- HaskellNet.cabal +2/−2
- Network/HaskellNet/SMTP.hs +13/−3
- example/smtpMimeMail.hs +3/−1
HaskellNet.cabal view
@@ -1,5 +1,5 @@ Name: HaskellNet-Version: 0.2.4+Version: 0.2.5 Author: Jun Mukai Maintainer: Robert Wills <wrwills@gmail.com> License: BSD3@@ -27,7 +27,7 @@ Network.HaskellNet.BSStream, Network.HaskellNet.Auth Other-modules: Data.Record, Text.Packrat.Pos, Text.Packrat.Parse- Build-Depends: base >= 4 && < 5, haskell98, network, mtl, parsec, time, bytestring, pretty, array, Crypto > 4.2.1, base64-string, containers, old-locale, old-time, mime-mail, text+ Build-Depends: base >= 4 && < 5, haskell98, network, mtl, parsec, time, bytestring, pretty, array, Crypto > 4.2.1, base64-string, containers, old-locale, old-time, mime-mail >= 0.3.0, text source-repository head type: darcs
Network/HaskellNet/SMTP.hs view
@@ -52,7 +52,11 @@ import Network.Mail.Mime import qualified Data.ByteString.Lazy as B import qualified Data.ByteString as S++import Data.Text (Text) import qualified Data.Text.Lazy as LT+import qualified Data.Text as T+import qualified Data.Text.Encoding as TE import Prelude hiding (catch) @@ -174,7 +178,7 @@ do bsPutCrLf conn $ BS.pack "DATA" (code, msg) <- parseResponse conn unless (code == 354) $ fail "this server cannot accept any data."- mapM_ sendLine $ BS.lines dat ++ [BS.pack "."]+ mapM_ sendLine $ BS.lines dat ++ [BS.pack "."] parseResponse conn where sendLine l = bsPutCrLf conn l sendCommand (SMTPC conn _) (AUTH LOGIN username password) =@@ -264,9 +268,15 @@ doSMTPStream :: BSStream s => s -> (SMTPConnection s -> IO a) -> IO a doSMTPStream s execution = bracket (connectStream s) closeSMTP execution -sendMimeMail :: BSStream s => String -> String -> String -> LT.Text -> LT.Text -> [(String, FilePath)] -> SMTPConnection s -> IO ()+--sendMimeMail :: BSStream s => String -> String -> String -> LT.Text -> LT.Text -> [(String, FilePath)] -> SMTPConnection s -> IO ()+--sendMimeMail to from subject plainBody htmlBody attachments con = +-- sendMimeMail (LT.pack to) (LT.pack from) (LT.pack subject) plainBody htmlBody (map (\x -> ((LT.pack . fst) x, (snd x))) attachments) con+++sendMimeMail :: BSStream s => String -> String -> String -> LT.Text -> LT.Text -> [(T.Text, FilePath)] -> SMTPConnection s -> IO ()+--sendMimeMail :: BSStream s => T.Text -> T.Text -> T.Text -> LT.Text -> LT.Text -> [(T.Text, FilePath)] -> SMTPConnection s -> IO () sendMimeMail to from subject plainBody htmlBody attachments con = do- myMail <- simpleMail to from subject plainBody htmlBody attachments+ myMail <- simpleMail (T.pack to) (T.pack from) (T.pack subject) plainBody htmlBody attachments renderedMail <- renderMail' myMail sendMail from [to] (lazyToStrict renderedMail) con closeSMTP con
example/smtpMimeMail.hs view
@@ -4,7 +4,9 @@ import Control.Monad import qualified Network.HaskellNet.SMTP as HN +import Data.Text (Text) import qualified Data.Text.Lazy as LT+import qualified Data.Text as T --import qualified Data.Text.Lazy.Encoding as LT @@ -48,7 +50,7 @@ , "低頭思故鄉" ]) (LT.pack "<html><body>低頭思故鄉</body></html>" )- [("application/pdf","/tmp/cv.pdf")]+ [((T.pack "application/pdf"),"/tmp/cv.pdf")] con HN.closeSMTP con -- [("application/pdf","/tmp/cv.pdf"), ("image/jpeg", "/tmp/img.jpg")]