๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ›  Node.js web development

์›น๊ฐœ๋ฐœ - 17 ๊ตฌ๊ธ€ map embeded API, nodemailer

by hanwitjus 2021. 12. 1.

 

์˜ค๋Š˜์€ ์ผ๋‹จ ์‚ฌ์šฉ์ž์˜ ํŽธ์˜์„ฑ(?)์„ ์œ„ํ•ด์„œ ์ž์ž˜ํ•˜๊ฒŒ ๋งˆ์ดํŽ˜์ด์ง€ ์ˆ˜์ •์„ ํ–ˆ๋‹ค.

 

 

 

๋‚ด ์ •๋ณด ์ˆ˜์ •์ด๋ž‘ ํƒˆํ‡ด ๋ฐ–์— ์—†์—ˆ๋Š”๋ฐ ์ด์ œ ์ž๊ธฐ๊ฐ€ ์“ด ๊ธ€๋“ค ๊ด€๋ฆฌํ•˜๊ณ  ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ๋‚ด ๊ฒŒ์‹œ๋ฌผ ๊ด€๋ฆฌ ํƒญ์„ ์ถ”๊ฐ€ํ•ด์„œ,

 

 

์ด๋ ‡๊ฒŒ ๋ณด์ด๋„๋ก ํ–ˆ๊ณ  ์ œ๋ชฉ์„ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ๊ธ€๋กœ ๋„˜์–ด๊ฐ€๊ณ , ๋Œ“๊ธ€์€ ๋ˆ„๋ฅด๋ฉด ๊ทธ ๋Œ“๊ธ€์„ ๋‹จ ๊ฒŒ์‹œ๋ฌผ์˜ ๋””ํ…Œ์ผ ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€๊ฒŒํ–ˆ๋‹ค.

 

 

์ด๋ ‡๊ฒŒ ํ•˜๊ณ  ๋˜ ๋ญ๋ฅผ ์ˆ˜์ •ํ•ด๋ณผ๊นŒ ํ•˜๋‹ค๊ฐ€ contact ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ํ™œ์„ฑํ™” ์‹œ์ผœ์„œ ๊ทธ๋ƒฅ ๋‚ด ์ •๋ณด ๋„์šฐ๊ฒŒ ํ•ด์•ผ๊ฒ ๋‹ค ํ•˜๋‹ค๊ฐ€

์ง€๋„ ์ •๋ณด๋ฅผ ๋ฐ”๊พธ๊ณ  ์‹ถ์–ด์กŒ๋‹ค.

 

iframe์œผ๋กœ html ์ฝ”๋“œ๋กœ ์ง€๋„์ •๋ณด๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ, ์ด๊ฒŒ Google Map Platform์— The Maps Embed API๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋Š” ๊ฑธ ์•Œ๊ฒŒ๋๊ณ  

 

 

https://developers.google.com/maps/documentation/embed/map-generator

 

The Maps Embed API quickstart  |  Google Developers

Send feedback The Maps Embed API quickstart Place an interactive map, or Street View panorama on your web page with a simple HTTP request—no JavaScript required. Costs All Maps Embed API requests are free with unlimited usage. For more information, see U

developers.google.com

 

์ด ์‚ฌ์ดํŠธ์— ๋“ค์–ด๊ฐ€์„œ ์ฐธ์กฐํ•ด์„œ ์œ„์น˜๋ฅผ ๋™๋•์—ฌ๋Œ€๋กœ ๋ฐ”๊พธ์–ด์„œ contact ํŽ˜์ด์ง€๋ฅผ

 

 

 

์ด๋ ‡๊ฒŒ ๋ณด์ด๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค. 

 

๊ทธ๋ฆฌ๊ณ  ํ•˜๋‹จ์— ๋‚ด๋ฆฌ๋ฉด ๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋Š” ํผ์ด ํ•˜๋‚˜ ์žˆ๋Š”๋ฐ

์‹ค์ œ๋กœ node.js์˜ nodemailer๋ผ๋Š” ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•ด์„œ ๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ด์„œ ๊ทธ๊ฑธ ํ•œ๋ฒˆ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ•˜๋Š” ์ค‘์ด๋‹ค.

 

 

์ผ๋‹จ ์ฝ”๋“œ๋Š”

 

router.post("/mail/send", (req, res) => {
    console.log(req.body);
    let transporter = nodemailer.createTransport({
        auth:{
            user: 'gkdus6629@gmail.com',
            pass: '---ํŒจ์Šค์›Œ๋“œ ์ž…๋ ฅ---'
        },
        host: 'smtp.mail.com',
        port: '465'
    });

    let mailOptions = {
        from : "์กฐํ•˜์—ฐ <gkdus6629@gmail.com>",
        to : req.body.receiverEmail,
        subject : req.body.title,
        text : req.body.message
    };

    transporter.sendMail(mailOptions, (err, info) => {
        transporter.close();
        if(err){
            console.log(err);
        }else{
            console.log(info);
        }
    });
    res.send("๋ฉ”์ผ ์ „์†ก ์™„๋ฃŒ");
});

 

์ด๋ ‡๊ฒŒ ์งฐ๊ณ  ์‹ค์ œ ํผ์—์„œ submit ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด

 

 

์ด๋ ‡๊ฒŒ ์ž˜ ๋œจ๋Š”๋ฐ ์ฝ˜์†”์—์„œ ๋ณด๋ฉด

 

 

 

์ด๋ ‡๊ฒŒ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค.

 

์ฐพ์•„๋ณด๋ฉด ๋กœ๊ทธ์ธ ์ •๋ณด๊ฐ€ ๋งž์ง€ ์•Š์•„์„œ ๋ผ๋Š”๋ฐ ๊ตฌ๊ธ€ ๊ณ„์ • ์ •๋ณด ๋˜‘๋ฐ”๋กœ ์ž…๋ ฅํ–ˆ๋Š”๋ฐ ๋ญ๊ฐ€ ๋ฌธ์  ์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.

๋‚ด์ผ ๊ณ ์ณ๋ด์•ผ๊ฒ ๋‹ค.

 

 

 

 

 

๋ฐฐํฌ๊นŒ์ง€ ๋‹ค ํ•ด๋ฒ„๋ฆฌ๋ฉด ์ด์ œ ๋”์ด์ƒ ํšŒ์‚ฌ์—์„œ ํ•  ๊ฒŒ ์—†์„ ๊ฒƒ ๊ฐ™์•„์„œ ์ž๊พธ ์ด๊ฒƒ์ €๊ฒƒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€ ํ•˜๊ณ  ์žˆ๋Š”๋ฐ

๊ทธ๋ž˜๋„ ๋”์ด์ƒ ์ƒ๊ฐ๋‚˜๋Š” ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ์—†์œผ๋ฉด ๋ฐฐํฌํ•ด๋ด์•ผ๊ฒ ๋‹ค.

 

 

 


Reference

 

https://blog.naver.com/tjsk002/222035367261

 

node.js ์‹ค์ œ ๋ฉ”์ผ๋ณด๋‚ด๊ธฐ nodemailer, npm start

node_01.js login.html node.js์—์„œ ๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ nodemailer ๋ชจ๋“ˆ Gmail ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ฉ”์ผ์„ ๋ณด๋‚ผ ์ˆ˜ ...

blog.naver.com

 

 

LIST

๋Œ“๊ธ€