mirror of
https://github.com/wneessen/go-mail.git
synced 2024-12-22 18:50:37 +01:00
#14: First effort of adding more example code
This commit is contained in:
parent
97e1386e36
commit
345ad6cceb
1 changed files with 73 additions and 0 deletions
73
doc_test.go
73
doc_test.go
|
@ -1,9 +1,12 @@
|
|||
package mail_test
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/wneessen/go-mail"
|
||||
"os"
|
||||
"text/template"
|
||||
"time"
|
||||
)
|
||||
|
||||
// Code example for the NewClient method
|
||||
|
@ -61,3 +64,73 @@ func ExampleClient_DialAndSend() {
|
|||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
// This code example shows how to use Msg.SetBodyString to set a string as message body with
|
||||
// different content types
|
||||
func ExampleMsg_SetBodyString_differentTypes() {
|
||||
m := mail.NewMsg()
|
||||
m.SetBodyString(mail.TypeTextPlain, "This is a mail body that with content type: text/plain")
|
||||
m.SetBodyString(mail.TypeTextHTML, "<p>This is a mail body that with content type: text/html</p>")
|
||||
}
|
||||
|
||||
// This code example shows how to use Msg.SetBodyString to set a string as message body a PartOption
|
||||
// to override the default encoding
|
||||
func ExampleMsg_SetBodyString_withPartOption() {
|
||||
m := mail.NewMsg(mail.WithEncoding(mail.EncodingB64))
|
||||
m.SetBodyString(mail.TypeTextPlain, "This is a mail body that with content type: text/plain",
|
||||
mail.WithPartEncoding(mail.EncodingQP))
|
||||
}
|
||||
|
||||
// This code example shows how to use a text/template as message Body.
|
||||
// Msg.SetBodyHTMLTemplate works anolog to this just with html/template instead
|
||||
func ExampleMsg_SetBodyTextTemplate() {
|
||||
type MyStruct struct {
|
||||
Placeholder string
|
||||
}
|
||||
data := MyStruct{Placeholder: "Teststring"}
|
||||
tpl, err := template.New("test").Parse("This is a {{.Placeholder}}")
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
m := mail.NewMsg()
|
||||
if err := m.SetBodyTextTemplate(tpl, data); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// This code example shows how to utilize the Msg.WriteToSendmail method to send generated mails
|
||||
// using a local sendmail installation
|
||||
func ExampleMsg_WriteToSendmail() {
|
||||
m := mail.NewMsg()
|
||||
m.SetBodyString(mail.TypeTextPlain, "This is the mail body string")
|
||||
if err := m.FromFormat("Toni Tester", "toni.tester@example.com"); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := m.To("gandalf.tester@example.com"); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := m.WriteToSendmail(); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// This code example shows how to send generated mails using a custom context and sendmail-compatbile command
|
||||
// using the Msg.WriteToSendmailWithContext method
|
||||
func ExampleMsg_WriteToSendmailWithContext() {
|
||||
sendmailPath := "/opt/sendmail/sbin/sendmail"
|
||||
ctx, cancel := context.WithTimeout(context.Background(), time.Second*5)
|
||||
defer cancel()
|
||||
|
||||
m := mail.NewMsg()
|
||||
m.SetBodyString(mail.TypeTextPlain, "This is the mail body string")
|
||||
if err := m.FromFormat("Toni Tester", "toni.tester@example.com"); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := m.To("gandalf.tester@example.com"); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
if err := m.WriteToSendmailWithContext(ctx, sendmailPath); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue