AWS Simple Email Service(SES)? ?? ???, ??? ???, ?? ?? ? ???? ???? ??? ? ??? ?? ???? ?? ???? ??????.
? ??? ?????? AWS SES? ???? ???? ??? ??? ???? HTML ???, ?? ??, ??? ??? ??? ?? ??? ?? ??? ????. ??? ???? ? ??? ?? ?? ??? ???????.
??
- AWS SES? ??????
- AWS SES ??
- ??? ??? ???
- HTML ??? ???
- ????? ??? ??? ???
- ??? ??? ???
- ?? ??
- ??
AWS SES? ??????
AWS Simple Email Service(SES)? ??? ??? ???? ?????? ???? ???, ?? ? ?? ???? ?? ? ??? ??? ???? ?? ??? ?? ??????. ?? ??? ??? ?? ????? ?? ???? ?? ???? ??????.
?? ??:
- ???: ??? ???? ??? ?????.
- ?? ???: AWS? ???? ?? ?? ?? ???? ????.
- ?? ???: ??? ?? ??.
- ??: DKIM ? SPF? ?? ?? ????? ?????.
AWS SES ??
??? ???? ?? ??? AWS SES? ??? ?????.
1??: ??? ?? ?? ??? ??
AWS SES??? ????? ??? ??? ???? ???? ???.
- ??? ?? ??:
- AWS SES ??? ?????.
- ID ???? ??? ??? ?????.
- ? ??? ?? ??? ?????.
- ??? ??? ???? ? ??? ?? ??? ?????.
- ?? ???? ???? AWS?? ?? ???? ?? ?? ??? ?????.
- ??? ??:
- ID ???? ????? ?????.
- ? ??? ??? ?????.
- ??? ??? ?????.
- AWS? DNS ???? ?????. ???? DNS ??? ?? ?????.
2??: ???? ??? ??
????? ? AWS ??? ???? ??? ???? ??? ?? ??? ?????.
- SES ???? ???? ?????.
- ???? ?? ??? ?????.
- ???? ??? ????? ?? ??? ?????.
3??: AWS ?? ?? ??
SES? ????? ???? ?? ????? AWS ??? ?? ?????.
- AWS IAM ??? ?????.
- ????? ?? ???? ???? ? ???? ????.
- AmazonSESFullAccess ??? ?????.
- ??? ? ID? ?? ??? ?? ?????.
??? ??? ???
Node.js? AWS SDK? ???? ??? ?? ??? ???? ??? ??? ??? ?????.
????
- ???? Node.js? ???? ????.
- Node.js? AWS SDK(aws-sdk)? ???????.
?? ?
const AWS = require('aws-sdk'); // Configure AWS SDK AWS.config.update({ accessKeyId: 'YOUR_ACCESS_KEY_ID', secretAccessKey: 'YOUR_SECRET_ACCESS_KEY', region: 'us-east-1', // Replace with your SES region }); const ses = new AWS.SES(); const params = { Source: 'sender@example.com', Destination: { ToAddresses: ['recipient@example.com'], }, Message: { Subject: { Data: 'Test Email from AWS SES', }, Body: { Text: { Data: 'Hello, this is a test email sent using AWS SES!', }, }, }, }; ses.sendEmail(params, (err, data) => { if (err) { console.error('Error sending email', err); } else { console.log('Email sent successfully', data); } });
??:
- ??: ??? ??? ??? ??? ?????.
- ??: ?? ??? ??? ??
- ???: ??? ??? ??? ?????.
HTML ??? ???
?? HTML ???? ??? ???? ?? ????? ?? ????? ??? ?????.
?? ?
const params = { Source: 'sender@example.com', Destination: { ToAddresses: ['recipient@example.com'], }, Message: { Subject: { Data: 'Welcome to Our Service!', }, Body: { Html: { Data: ` <html> <body> <h1>Welcome!</h1> <p>We're glad to have you on board.</p> </body> </html> `, }, }, }, }; ses.sendEmail(params, (err, data) => { if (err) { console.error('Error sending HTML email', err); } else { console.log('HTML email sent successfully', data); } });
?:
- CSS ???? ????? ????? ?? ???? ???? ??? ????? ? ???? ??? ? ????.
- ??? ?? ?? ??? ??? ?????.
?? ??? ??? ??? ???
?? ??? ??? ???? ???? sendEmail ?? sendRawEmail ???? ?????.
?? ?
const fs = require('fs'); const path = require('path'); const AWS = require('aws-sdk'); const ses = new AWS.SES(); // Read the attachment file const filePath = path.join(__dirname, 'attachment.pdf'); const fileContent = fs.readFileSync(filePath); // Define the email parameters const params = { RawMessage: { Data: createRawEmail(), }, }; function createRawEmail() { const boundary = '----=_Part_0_123456789.123456789'; let rawEmail = [ `From: sender@example.com`, `To: recipient@example.com`, `Subject: Email with Attachment`, `MIME-Version: 1.0`, `Content-Type: multipart/mixed; boundary="${boundary}"`, ``, `--${boundary}`, `Content-Type: text/plain; charset=UTF-8`, `Content-Transfer-Encoding: 7bit`, ``, `Hello, please find the attached document.`, `--${boundary}`, `Content-Type: application/pdf; name="attachment.pdf"`, `Content-Description: attachment.pdf`, `Content-Disposition: attachment; filename="attachment.pdf";`, `Content-Transfer-Encoding: base64`, ``, fileContent.toString('base64'), `--${boundary}--`, ].join('\n'); return rawEmail; } ses.sendRawEmail(params, (err, data) => { if (err) { console.error('Error sending email with attachment', err); } else { console.log('Email with attachment sent successfully', data); } });
??:
- ?? MIME ???: ?? ??? ???? ?? MIME ??? ?? ?? ???? ?????.
- Base64 ???: ?? ??? base64? ?????? ???.
- ??? ??: ??? ?????? ?? ??? ???? ????? ??? ??? ?????.
??? ?? ???
??? ???? ??? ?? .ics ??? ?? ??? ?????.
?? ?
function createCalendarEvent() { const event = [ 'BEGIN:VCALENDAR', 'VERSION:2.0', 'BEGIN:VEVENT', 'DTSTAMP:20231016T090000Z', 'DTSTART:20231020T100000Z', 'DTEND:20231020T110000Z', 'SUMMARY:Meeting Invitation', 'DESCRIPTION:Discuss project updates', 'LOCATION:Conference Room', 'END:VEVENT', 'END:VCALENDAR', ].join('\n'); return Buffer.from(event).toString('base64'); } function createRawEmail() { const boundary = '----=_Part_0_123456789.123456789'; let rawEmail = [ `From: sender@example.com`, `To: recipient@example.com`, `Subject: Meeting Invitation`, `MIME-Version: 1.0`, `Content-Type: multipart/mixed; boundary="${boundary}"`, ``, `--${boundary}`, `Content-Type: text/plain; charset=UTF-8`, `Content-Transfer-Encoding: 7bit`, ``, `Hello, you're invited to a meeting.`, `--${boundary}`, `Content-Type: text/calendar; method=REQUEST; name="invite.ics"`, `Content-Transfer-Encoding: base64`, `Content-Disposition: attachment; filename="invite.ics"`, ``, createCalendarEvent(), `--${boundary}--`, ].join('\n'); return rawEmail; } ses.sendRawEmail(params, (err, data) => { if (err) { console.error('Error sending calendar invite', err); } else { console.log('Calendar invite sent successfully', data); } });
??:
- ??? ??? ??: iCalendar ??? ???? .ics ?? ???? ????.
- Method=REQUEST: ?? ???? ?????.
- ??? ??: ??? ??? ??? ??? ?? ? ??? ??? ?????.
?? ??
- ?? ??: ?? ??????? ??? ?? ?? ??? ?????.
- ??? ??: ??? ?? ??? ??? ???? ?????.
- ??: ??? ????? SES ?? ??? ?????.
- ?? ?? ??: ??? ???? ?? ??? ???? ?? ?? ??? ?????.
- ????: AWS CloudWatch? ???? ??? ?? ??? ???????.
- ??: AWS ?? ??? ???? ??? ?? IAM ??? ?????.
??
AWS SES? ??? ??? ?? ?? ??? ??? ? ?? ??? ??????. ??? ??? ???, ??? HTML ???? ??? ??? ???? ???, ?? ??? ?? ???? ??? ??? ???? ???, AWS SES? ?? ?? ??? ????.
? ???? ??? ?? ?? ??? ???? ???? ? ????.
- ??? AWS SES? ?????.
- ?? ??? ? HTML ???? ????.
- ???? ????? ??? ???? ?????.
????? ?????! ???? ???? ?? ?? ??? ??? ??? ?????. ??? ?????!
? ??? AWS SES? ?? ??? ??: ?? ???? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

??? ??











Java ? JavaScript? ?? ?? ????? ??? ?? ?? ?? ???? ????? ?????. Java? ??? ? ??? ?????? ??? ???? JavaScript? ?? ? ??? ??? ?????.

JavaScriptCommentsareEnsentialformaining, ?? ? ???? 1) Single-LinecommentsERUSEDFORQUICKEXPLANATIONS.2) Multi-linecommentSexplaincleClexLogicOrprovidedEdeDDocumentation.3) inlineecommentsClarifySpecificPartSofcode.bestPractic

JavaScript?? ??? ??? ?? ? ? ?? ??? ???????. 1. ?? ??? ??? ???? ?? ??? ????. ISO ?? ???? ???? ???? ???? ?? ????. 2. ?? ??? ?? ???? ??? ?? ???? ??? ? ??? ? ?? 0?? ????? ?? ??????. 3. ?? ?? ???? ???? ???? ?? ?????? ??? ? ????. 4. Luxon? ?? ???? ???? ?????? ???? ?? ????. ??? ?? ???? ????? ???? ??? ????? ?? ? ????.

TAGGSATTHEBOTTOMOFABLOGPOSTORWEBPAGESERVESPRACTICALPURSEO, USEREXPERIENCE, andDESIGN.1.ITHELPSWITHEOBYOWNSESPORENGENSTOESTOCESKESKERKESKERKERKERDER-RELEVANTTAGSWITHOUTHINGTEMAINCONTENT.2.ITIMPROVESEREXPERKEEPINGTOPONTEFOCUSOFOFOFOCUSOFOFOFOCUCUSONTHEATECLL

JavaScriptIspreferredforwebDevelopment, whithjavaisbetterforlarge-scalebackendsystemsandandandoidapps.1) javascriptexcelsincreatinginteractivewebexperiences withitsdynatureanddommanipulation.2) javaoffersstrongtypingandobject-Orientededededededededededededededededdec

javascriptassevenfundamentalDatatatypes : ??, ???, ??, unull, ??, ? symbol.1) ?? seAdouble-precisionformat, ??? forwidevaluerangesbutbecautiouswithfatingfointarithmetic.2) stringsareimmutable, useefficientconcatenationmethendsf

??? ?? ? ??? DOM?? ??? ??? ? ?????. ??? ?? ????? ?? ??????, ??? ?? ???? ?? ????????. 1. ??? ??? addeventListener? usecapture ?? ??? true? ???? ?????. 2. ??? ??? ?? ???? usecapture? ???? ????? ?????. 3. ??? ??? ??? ??? ???? ? ??? ? ????. 4. ??? ?? ?? ?? ??? ?? ??? ??????? ??? ???? ?????. 5. ??? ?? ?? ?? ??? ?? ???? ?? ???? ? ??? ? ????. ? ? ??? ???? ???? JavaScript? ??? ??? ??? ????? ???? ???? ??? ??????.

Java? JavaScript? ?? ????? ?????. 1. Java? ???? ???? ??? ? ??? ?????? ?????? ? ?? ???? ?????. 2. JavaScript? ?? ? ?? ?? ? ??? ?? ??? ???? ??? ? ?? ? ?? ?????.
