我有一個聯系表格,通過它我可以接收訊息。但它僅從一個電子郵件地址收到,因為我只在abc.SetHeader("To", "[email protected]").
我想收到所有想聯系我的人的訊息,但我還必須知道他們的應用密碼才能將其放入代碼中。這不會發生。
這就是為什么我Reply-To在 Gmail 帳戶的部分中提供了另一個電子郵件地址以使其正常作業,但它仍然不起作用。接下來我應該怎么做才能讓它發揮作用?
package main
import (
"log"
"gopkg.in/gomail.v2"
)
func main() {
abc := gomail.NewMessage()
abc.SetHeader("From", "[email protected]")
abc.SetHeader("To", "[email protected]")
abc.SetHeader("Subject", "This is the subject")
abc.SetBody("text/plain", "This is the message")
a := gomail.NewDialer("smtp.gmail.com", 587, "[email protected]", "app password") // Password for "[email protected]"
if err := a.DialAndSend(abc); err != nil {
log.Fatal(err)
}
}
uj5u.com熱心網友回復:
讓我們明確一下“聯系表格”的概念。
網站通常提供“聯系我們”功能。該網站提供了用戶填寫的聯系表格。用戶通常提供他/她的電子郵件地址和訊息(最好是主題/主題)。
提交時,后端將此訊息保存在 webapps 自己的資料庫中。
當管理員(或適當的人)閱讀訊息(在受限頁面中)時,管理員可能會決定回復此訊息。由于用戶在提交聯系表格時提供了他/她的電子郵件地址,因此回復可能會通過電子郵件進行。管理員可以填寫包含回復訊息的表單(最好也參考原始訊息),當管理員提交此表單時,后端可以向用戶提供的地址發送電子郵件(提交聯系表單時)。
此電子郵件將包含管理員輸入的訊息作為正文。受試者應包含受試者從接觸形式Subject頭。該電子郵件將發送到用戶提供的地址。該郵件將發送來自管理員的地址(或后端的任何電子郵件地址集,但肯定不是從用戶提供的電子郵件)。
管理員(從后端)發送回復電子郵件的示例:
m := gomail.NewMessage()
m.SetHeader("From", "[email protected]")
m.SetHeader("To", "[email protected]")
m.SetHeader("Subject", "Re: Issue with purchase")
m.SetBody("text/plain", "Hello Bob! We fixed the issue!")
d := gomail.NewDialer("smtp.mywebapp.com", 587, "admin", "admin's password")
if err := d.DialAndSend(m); err != nil {
panic(err)
}
請注意,當用戶填寫并提交聯系表單時,后端也可能通過電子郵件通知管理員有關該訊息的資訊。后端可以向管理員發送包含訊息的電子郵件,并且該電子郵件的“回復”標題可以設定為用戶提供的電子郵件地址。此電子郵件將由后端從管理員的電子郵件地址(或在后端設定的任何其他地址,但同樣不是來自用戶的電子郵件地址)發送。如果發送給管理員的這封電子郵件的“回復”標題設定為用戶的電子郵件地址,則管理員可以簡單地回復該電子郵件,并且回復將直接發送到用戶的電子郵件地址。
發送給管理員的關于“聯系表單”提交的電子郵件示例(由后端發送):
m := gomail.NewMessage()
m.SetHeader("From", "[email protected]")
m.SetHeader("To", "[email protected]")
m.SetHeader("Reply-To", "[email protected]")
m.SetHeader("Subject", "Issue with purchase")
m.SetBody("text/plain", "Hi, I'm bob. I have this XXX issue when purchasing.")
d := gomail.NewDialer("smtp.mywebapp.com", 587, "admin", "admin's password")
if err := d.DialAndSend(m); err != nil {
panic(err)
}
管理員在他/她自己的電子郵件客戶端中閱讀此訊息,然后點擊“回復”。回復訊息將直接轉到[email protected]。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/334908.html
