2017-12-04 22 views
0

확실하지 않은 경우 내 제목이 의미가 있지만 여기에 내가하는 일이 문제입니다.오브젝트 값에 두 개의 다른 변수를 지정하는 방법은 무엇입니까?

나는 두 개의 HTML 출력이 있습니다

let output1 = `<h1>Header</h1>` 
let output2 = `<div> // content </div>` 

을 그리고 난이 있습니다

let mailOptions2 = { 
     from: '"xyz" <[email protected]>', // sender address 
     to: mailList, // receiver or receivers 
     subject: 'XYZ', // Subject line 
     html:  // html body 
    }; 

내가 모두 output1output2html에 할당하고자합니다. 배열에 두 가지를 넣으려고했지만 정의되지 않은 오류가 발생했습니다. 그래서 output1을 mailList의 첫 번째 주소로 보내고 싶습니다. 해결책?

답변

0

봅니다을 CONCAT합니다 :

html: output1 + output2 

편집 : 업데이트 된 요구 사항;

변수를 배열에 넣으십시오.

let output = [`<h1>Header</h1>`, `<div> content </div>`, ....] 

그런 다음 루프 내에 mailOptions 변수를 만듭니다.

for(i = 0; i < mailList.lngth; i++) { 
    let mailOptions = { 
     from: '"xyz" <[email protected]>', 
     to: mailList[i], 
     subjects: 'XYZ', 
     html: output[i] 
    } 
} 
+0

나는 그것을 시도했다. 그러나 그것은 두 가지 html 콘텐츠를 전자 메일 클라이언트의 서로 위에 얹어 놓습니다. 나는 mailList에 두 개의 이메일을 가지고 있으며 두 개의 메일 주소를 두 개의 이메일 주소로 보냅니다. 그래서 output1을 mailList의 첫 번째 주소로 보내고 싶습니다. 그렇게하면 아이디어가 있습니다. –

+1

@ AhmetÖmer 당신은 정말로 질문에 그것을 넣는 것을 고려해야합니다. 당신이 질문에 그것을 넣지 않으려 고한다면 당신이하려는 일을 누구가 알고 있는지 어떻게 생각합니까? –

+0

무슨 뜻인가요? output1 만 첫 번째 주소로 보내고 output2 만 두 번째 주소로 보내길 원하십니까? – KKK

0

이 작동합니다 :

outputs = ["1st HTML", "2nd HTML"]; 

for(var i = 0; i < mailList.length; i++){ 
    let mailOptions2 = { 
     from: '"xyz" <[email protected]>', 
     to: mailList[i], 
     subject: 'XYZ', 
     html: outputs[i % outputs.length] 
    }; 
    // send your email here 
}