読者です 読者をやめる 読者になる 読者になる

Go言語でSSLを使わずにSMTPでメールを送るコード片

smtp.SendMail() だと SSL を使える場合になんかエラーが出て送れなかったので SendMail() 内の認証部分とSSL部分を除いたコード部を書くと送信できた.

package main

import (
  "net/smtp"
  "log"
  "os"
  "net"
)

func main() {
  conn, err := net.Dial("tcp", "localhost:25")
  if err != nil {
    log.Println(err)
    os.Exit(1);
  }
  client, _ := smtp.NewClient(conn, "localhost")
  if err = client.Mail("from@example.com"); err != nil {
    log.Println(err)
    os.Exit(1);
  }
  if err = client.Rcpt("to@example.com"); err != nil {
    log.Println(err)
    os.Exit(1);
  }
  w, err := client.Data()
  if err != nil {
    log.Println(err)
    os.Exit(1);
  }
  _, err = w.Write([]byte("hello"))
  w.Close()
  result := client.Quit()

  log.Println(result)
}