Slide 11
Slide 11 text
実装例
上のインターフェースの実装例です。 mkTransport
はメールを受け付ける準備ができたソ
ケットを返します。
object SMTPConnection extends TLSParametersPlatform {
def apply[F[_]: Network: Concurrent](
smtpServer: Host,
credential: Option[Credential] = None,
port: Port = port"587"
): SMTPConnection[F] =
new SMTPConnection[F] {
def connect: Resource[F, Mailer[F]] =
mkTransport(smtpServer, credential, port).flatMap(socket =>
// ...