diff --git a/HaskellNet.cabal b/HaskellNet.cabal
--- a/HaskellNet.cabal
+++ b/HaskellNet.cabal
@@ -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
diff --git a/Network/HaskellNet/SMTP.hs b/Network/HaskellNet/SMTP.hs
--- a/Network/HaskellNet/SMTP.hs
+++ b/Network/HaskellNet/SMTP.hs
@@ -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
diff --git a/example/smtpMimeMail.hs b/example/smtpMimeMail.hs
--- a/example/smtpMimeMail.hs
+++ b/example/smtpMimeMail.hs
@@ -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")]
