2016-05-26 13 views
0

Я использую Nodemailer (https://github.com/nodemailer/nodemailer) и mailgun в приложении Node.js.Опция отправителя/почтового отправителя

Что я пытаюсь сделать, это указать «отправитель» по почте. Я посылаю письмо так:

var auth = { 
    auth: { 
     api_key: process.env.MAILGUN_API_KEY, 
     domain: process.env.MAILGUN_DOMAIN 
    } 
} 

var transport = nodemailer.createTransport(mailgunTransport(auth)); 

var recipients = process.env.MAILGUN_RECIPIENTS; 

    var mail = { 
     from: contactPerson.firstName + " " + contactPerson.lastName + " " + "<" + contactPerson.email + ">", 
     to: recipients, 
     subject: "Innspill til bredbåndsutbygging", 
     text: message 
    } 

    transport.sendMail(mail, function (error, info) { 
     if (error) { 
      console.log("Error occurred!"); 
      console.log(error); 
     } else { 
      console.log("Email sendt!"); 
      console.log(info); 
     } 
    }); 

В Gmail отображается как: От: Firstname Lastname < [email protected]>

Для моего клиента отображается как: От: работа [email protected] [mailto: [email protected]]

Я подозреваю, что это имеет какое-то отношение к параметру «Отправитель» в заголовке электронной почты.

Из документов Nodemailer он говорит

отправитель - Адрес электронной почты, который будет отображаться на Sender: поле (всегда предпочитают от того, если вы не уверены, какой из них использовать)

Я попытался установить параметр отправителя безрезультатно.

var mail = { 
    sender: contactPerson.email, 
    from: contactPerson.firstName + " " + contactPerson.lastName + " " + "<" + contactPerson.email + ">", 
    to: recipients, 
    subject: "Innspill til bredbåndsutbygging", 
    text: message 
} 

ответ

0

Я действительно хотел бы добавить комментарий, но не имею достаточной репутации. Я хотел дать вам несколько советов, где искать, потому что я не уверен, какие у вас вопросы.

Вы проверили JS-файл на стороне клиента для любых неуместных котировок, которые могут быть интерпретированы для одной службы, но не для другой?

Также проверьте, какую кодировку вы используете. На клиенте, если у вас есть форма, вы можете установить XMLHttpRequest().setRequestHeader("Content-type", "application/x-www-form-urlencoded") Вы также можете кодировать на стороне сервера, используя определенные модули узлов, такие как express. Обратите внимание, что вы можете отображать html и обычный текст. html будет игнорировать escape-знаки, такие как \ n

Я почти уверен, что ваши проблемы связаны с конфигурацией Mailgun. В моем очень тяжелом обучении я не столкнулся с вашей проблемой отображения.

Надеюсь, это поможет.