2015-12-27 6 views
0

Я пытаюсь отправить электронные письма «проверять электронную почту» из моего развернутого приложения метеорита (в цифровом океане Ubuntu 14.04) через Mandrill и willio : мандрилл. После развертывания я могу отправить электронное письмо из моего приложения при запуске, используя API Mandrill.MeteorJS Как установить поле «from» для электронных писем учетных записей, таких как проверка пароля электронной почты/сброса

Mandrill.messages.send({ 
    message: { 
     "text": "Greetings from example.com!", 
     "from_email": "[email protected]", 
     "from_name": "Keith - example.com", 
     "subject": "App Started", 
     "to": [ 
      { email: "[email protected]", name: "Keith" } 
     ] 
    } 
}, function(error, response) { 
    if (error) { 
     console.log(error); 
} else { 
     console.log(response); 
    } 
}); 

Это сообщение посылает, так что я знаю, что у меня есть набор MAIL_URL и я в состоянии получить доступ к моей учетной записи Mandrill из приложения. Однако, когда я пытаюсь получить связанное с учетной записью электронное письмо, такое как подтверждение электронной почты или сброс пароля, оно не отправляется. Я считаю, что это связано с тем, что я не могу/не знаю, как установить поле «из» электронной почты, например, с приведенным выше кодом. Однако я полагаю, что это может быть также из-за чего-то другого, поэтому здесь приведен код, который изменяет то, что выглядит в элементе электронной почты verifyEmail.

Accounts.emailTemplates.verifyEmail.subject = function(user) { 
    return 'Activate your new account'; 
} 
Accounts.emailTemplates.verifyEmail.html = function (user, url) { 
    var result; 
    try { 
     result = Mandrill.templates.render({ 
      template_name: 'verify-email', 
      template_content: [ 
       { 
        name: 'CONFIRMURL', 
        content: url 
       }, 
       { 
        name: 'FNAME', 
        content: user.username 
       } 
      ], 
      merge_vars: [ 
       { 
        name: 'CONFIRMURL', 
        content: url 
       }, 
       { 
        name: 'FNAME', 
        content: user.username 
       } 
      ] 
     }); 
    } catch (error) { 
     console.error('Error while rendering Mandrill template', error); 
    } 
    return result.data.html; 
} 

Как я могу установить поле from или иным образом исправить проверку электронной почты через mandrill? BTW, я использовал это руководство для справки, но все еще не смог решить проблему. https://themeteorchef.com/snippets/sending-email-with-mandrill/

+1

Я не знаю, если это решит вашу проблему, но вы можете установить из поля следующим образом: Accounts.emailTemplates.verifyEmail .from = функция (пользователь) {return 'Keith - example.com <[email protected]>';} –

ответ

1

Это, как я настройки электронной почты в моем приложении:

Accounts.emailTemplates.siteName = Meteor.settings.public.siteName; 
    Accounts.emailTemplates.from = Meteor.settings.public.emailFrom;