Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GMail发送邮件时主题中包含的汉字可以';不能正确显示_Gmail_Gmail Api - Fatal编程技术网

GMail发送邮件时主题中包含的汉字可以';不能正确显示

GMail发送邮件时主题中包含的汉字可以';不能正确显示,gmail,gmail-api,Gmail,Gmail Api,我通过GMail API用javascript发送邮件。如果邮件主题包含中文字符,则无法在GMail收件箱中正确显示 而且信息中的汉字也没问题 var email = ''; email = 'Content-Type: multipart/mixed;boundary="foo_bar_baz"\r\n'+ "To: " + $('#compose-to').val() + "\r\n" + "Subject: 这里是中文字符" +"\r\n\r\n"; email

我通过GMail API用javascript发送邮件。如果邮件主题包含中文字符,则无法在GMail收件箱中正确显示

而且信息中的汉字也没问题

var email = '';
email =
    'Content-Type: multipart/mixed;boundary="foo_bar_baz"\r\n'+
    "To: " + $('#compose-to').val() + "\r\n" +
    "Subject: 这里是中文字符" +"\r\n\r\n";

email += "--foo_bar_baz\r\n" +
       "Content-Type: text/html;charset='UTF-8'\r\n" +
       "Content-Transfer-Encoding: 8bit\r\n";
email += "\r\n" + $('#compose-message').val()+"\r\n\r\n";

email += "--foo_bar_baz\r\n" +
    "Content-Type: application/pdf;attachment;filename=5678.pdf\r\n" +
    "Content-Transfer-Encoding: base64\r\n" +
    "Content-Disposition: attachment;filename=5678.pdf\r\n\r\n" +
    file_ + "\r\n\r\n";

var sendRequest = gapi.client.gmail.users.messages.send({
  'userId': 'me',
  'resource': {
    'raw': window.btoa(unescape(encodeURIComponent(email))).replace(/\+/g, '-').replace(/\//g, '_')
  }
});

我添加代码“=?UTF-8?B???”主题字符串,它就工作了。具体如下

var email = '';
email =
    'Content-Type: multipart/mixed;boundary="foo_bar_baz"\r\n'+
    "To: " + $('#compose-to').val() + "\r\n" +
    "Subject: =?UTF-8?B?"++window.btoa(unescape(encodeURIComponent('这里是中文字 
    符')))+"?=" +"\r\n\r\n";