当前位置: 首页 > 知识库问答 >
问题:

GoogleAPI:错误400:需要收件人地址,invalidArgument

乐正涵忍
2023-03-14
func SendMail() {

b, err := ioutil.ReadFile("credentials.json")
if err != nil {
    log.Fatalf("Unable to read client secret file: %v", err)
}

config, err := google.ConfigFromJSON(b, gmail.MailGoogleComScope)
if err != nil {
    log.Fatalf("Unable to parse client secret file to config: %v", 
err)
}
client := getClient(config)

srv, err := gmail.New(client)
if err != nil {
    log.Fatalf("Unable to retrieve Gmail client: %v", err)
}

user := "me"
mailtext := `From: sender@gmail.com
To: receiver@gmail.com
Subject: Saying Hello
Date: Thu, 8 Oct 2020 09:55:06 -0600
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".
`
raw := base64.URLEncoding.EncodeToString([]byte(mailtext))

var message gmail.Message
message.Id = "Msg 2"
message.LabelIds = []string{"SENT"}
message.Raw = raw

doFunc := srv.Users.Messages.Send(user, &message)
m, err := doFunc.Do()
if err != nil {
    println(err.Error())
    println("Message not sent")
} else {
    fmt.Printf("%+v", m)
}
googleapi: Error 400: Recipient address required, invalidArgument

谢谢你的帮助!!!

共有1个答案

锺离霖
2023-03-14
    null
    null
    mailtext := `
    From: sender@gmail.com
    To: receiver@gmail.com
    Subject: Saying Hello
    Date: Thu, 8 Oct 2020 09:55:06 -0600
    Message-ID: <1234@local.machine.example>

    This is a message just to say hello.
    So, "Hello".
    `
    raw :=  base64.URLEncoding.EncodeToString([]byte(mailtext))

     // create gmail.Message

     var message gmail.Message
     message.Id = "Msg 1"
     message.LabelIds = []string{"SENT"}
    user := "me"
    // Modified
    mailtext := `From: sender@gmail.com
To: receiver@gmail.com
Subject: Saying Hello
Date: Thu, 8 Oct 2020 09:55:06 -0600
Message-ID: <1234@local.machine.example>

This is a message just to say hello.
So, "Hello".`
    raw := base64.URLEncoding.EncodeToString([]byte(mailtext))

    // create gmail.Message

    var message gmail.Message
    message.Id = "Msg 1"
    message.LabelIds = []string{"SENT"}
    message.Raw = raw  // Added
  mailtext := "From: sender@gmail.com\nTo: receiver@gmail.com\nSubject: Saying Hello\nDate: Thu, 8 Oct 2020 09:55:06 -0600\nMessage-ID: <1234@local.machine.example>\n\nThis is a message just to say hello.\nSo, \"Hello\"."
    null
 类似资料:
  • 我使用了带有curl的Gmail API。(users.messages:send) 编码值由以下python脚本创建。

  • 在尝试向包含字母“ñ”的收件人地址发送电子邮件时,我在phpmailer上遇到下一个错误,例如: 致命错误:未捕获异常“phpmailerException”,消息“无效地址:lauro.muñ”oz@live.com.mx' 我知道它说这是一个无效的地址,这只是因为它包含字母ñ,使用

  • 这是我的代码,我使用Firebase注册用户,并使用用户名而不是电子邮件进行登录/注册。 我搜索了很多,但没有找到解决方案。任何关于这种方法的帮助都将不胜感激。

  • 我正在尝试从我的Android应用程序发送电子邮件。只需单击一个按钮,gmail就应该打开并显示一封带有我之前定义的收件人、主题和电子邮件正文的新电子邮件。 这是两天的工作方式,但今天,收件人地址没有被复制到gmail地址栏,只有主题和正文被复制。 这是我的代码(我没有更改,与2天前的代码一样):

  • 提示 页面模板源码免费开源,在uni-app的插件市场uView的 示例项目 中,在右上角选择"使用 HBuilderX 导入示例项目" 或者 "下载示例项目ZIP", 在HX运行项目即可看到和使用模板。 此功能包含两个页面,分为展示用户收货地址列表和添加收货地址。相关功能和数据均为本地模拟数据和格式,不一定 和用户实际环境相同,请自行修改对应的js实现逻辑,不要拘泥于模板的示例。