我正在尝试编写一个简单的脚本来通过我的Gmail帐户发送邮件.但我是一个初学者,所以它并不那么简单.我尝试谷歌,但为了hackage,没有任何帮助或例子.
问题是我没有找到使用tls-extra(或tls)来启动STARTTLS交换的方法.
好的,这是代码:
import Network
import Network.TLS.Extra
import System.IO
import Text.Printf
server = "smtp.gmail.com"
port = 25 --that has to chage, I think
forever a = a >> forever a
main = test1
write :: Handle -> String -> IO ()
write h s = do
hPrintf h "%s\r\n" s
printf "> %s\n" s
listen :: Handle -> IO ()
listen h = forever $ hGetLine h >>= putStrLn
test1 = do h <- connectTo server (PortNumber (fromIntegral port))
hSetBuffering …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个小脚本来通过gmail发送电子邮件.
我可以连接到gmail但是当我尝试hanshake它失败了.
任何指针都可以获得握手吗?
这是代码:
import Network.Socket
import Network
import Network.TLS
import Network.TLS.Extra
import Crypto.Random
import Data.CertificateStore -- to remove
import System.Certificate.X509 --to use I think
import System.IO
import Text.Printf
import Control.Monad (forever)
import qualified Data.ByteString.Char8 as B
main :: IO ()
main = emailGmail2
tListen :: Context -> IO ()
tListen ctx =
forever $ recvData ctx >>= B.putStrLn
cWrite :: Handle -> String -> IO ()
cWrite h s = do
hPrintf h "%s\r\n" s
printf "> %s\n" s …Run Code Online (Sandbox Code Playgroud)