2012-06-18 34 views

答えて

20

私はそれを自分で実装することになった:https://github.com/scorredoira/email

使い方を非常に簡単です:

m := email.NewMessage("Hi", "this is the body") 
m.From = "[email protected]" 
m.To = []string{"[email protected]"} 

err := m.Attach("picture.png") 
if err != nil { 
    log.Println(err) 
} 

err = email.Send("smtp.gmail.com:587", smtp.PlainAuth("", "user", "password", "smtp.gmail.com"), m) 
+0

Gmailではもうこれを許可していません。 – qed

+1

@qed、私はちょうどGmailでテストして、うまくいきます。 –

+2

@qed Googleアカウントの設定に入り、アプリ/セキュリティの下で安全でないアプリのアクセスを有効にする必要があります。私はこの目的のためにスローアウェイ電子メールアカウントを強く勧めます。 gmailに登録していて、特定の年齢に達している場合は、登録時に以前のメールアドレスを入力する必要はありません。 – anon58192932

3

SMTPプロトコルの添付ファイルは、Multipart MIMEメッセージを使用して送信されます。

だから私はあなただけで

  • MultipartMessage

  • を作成する提案がAddPartを使用して部品としてあなたの添付を追加します("Content-Type", "text/plain"付き)TextMessage

  • として拳の部分にテキストを設定します。

+0

これは私が試していることですが、何らかの理由で動作させることができません。私はここに詳細を説明する問題を作成しました:https://github.com/sloonz/go-mime-message/issues/1 –

+0

あなたはあなたが参照しているライブラリを教えてくださいできますか? –

7

私は、この目的のためにgomailを作成しました。これは、マルチパートの電子メールと非ASCII文字のエンコードだけでなく添付ファイルもサポートしています。それはよく文書化され、テストされています。

package main 

func main() { 
    m := gomail.NewMessage() 
    m.SetHeader("From", "[email protected]") 
    m.SetHeader("To", "[email protected]", "[email protected]") 
    m.SetAddressHeader("Cc", "[email protected]", "Dan") 
    m.SetHeader("Subject", "Hello!") 
    m.SetBody("text/html", "Hello <b>Bob</b> and <i>Cora</i>!") 
    m.Attach("/home/Alex/lolcat.jpg") 

    d := gomail.NewPlainDialer("smtp.example.com", 587, "user", "123456") 

    // Send the email to Bob, Cora and Dan. 
    if err := d.DialAndSend(m); err != nil { 
     panic(err) 
    } 
} 
6

私は電子メールの目的でhttps://github.com/jordan-wright/emailを使用することを好む:ここ

は一例です。 添付ファイルをサポートしています。人間

ため

メールは、電子メールのパッケージが使用するのは簡単ように設計されていますが、限定的にならないように 十分な柔軟性を備えています。目標は、人間のための電子メールインターフェイス を提供することです。

emailパッケージは、現在、以下をサポートしています。 "[email protected]" と "姓" 形式

  • 両方で
  • のBcc、とCCフィールドに電子メールアドレスから、

    • テキストおよびHTMLメッセージ本文
    • 添付
    • 開封確認
    • カスタムヘッダ
    • もっと来て!
  • +1

    これはおそらく最も簡単です:3 – Kokizzu

    関連する問題