Howto: рдЕрдореЗрдЬрд╝рди SES PHP рдореЗрд▓рд░

рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!

рдЖрдЬ рдореИрдВ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реВрдБ рдХрд┐ рд╕реНрдХреНрд░реИрдЪ рд╕реЗ рдЕрдореЗрдЬрд╝реЕрди рдПрд╕рдИрдПрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдореЗрд▓рд┐рдВрдЧ рдХреИрд╕реЗ рд╕реЗрдЯ рдХрд░реЗрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдЕрдореЗрдЬрд╝рди рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рдПрдХ рдЦрд╛рддрд╛ рдФрд░ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХреА рдПрдХ рд╕рдВрд▓рдЧреНрди рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рд╣реИ, рддреЛ рд╣рдо рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ!

SES рд╕реЗрдЯрдЕрдк

рддреЛ, рдЪрд▓реЛ рдХрдВрд╕реЛрд▓ рдкрд░ рдЬрд╛рдПрдВ : https://console.aws.amazon.com ред рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ рд╣рдо рдПрд╕рдИрдПрд╕ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ SES рд╕реЗ рдкрд╣рд▓реЗ рд╕реМрджрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд╣рдо рдПрдХ рдирд┐рд░рд╛рд╢рд╛рдЬрдирдХ рд╢рд┐рд▓рд╛рд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдорд┐рд▓реЗ рд╣реИрдВ:
рдЫрд╡рд┐

рд╕рднреА рдкрдВрдЬреАрдХрд░рдг рдФрд░ рдкреБрд╖реНрдЯрд┐рдХрд░рдг рдХреЗ рдмрд╛рдж рдХрд┐ рдЖрдк рд╕реНрдкреИрдорд░ рдирд╣реАрдВ рд╣реИрдВ, рдЖрдкрдХреЛ рднреЗрдЬрдиреЗ рдХреА рдиреНрдпреВрдирддрдо рд╕реАрдорд╛рдПрдБ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдВрдЧреА:

рдЫрд╡рд┐

рдЕрдЧрд▓рд╛, рд╣рдореЗрдВ рдЙрд╕ рдкрддреЗ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдЕрдХреНрд╖рд░реЛрдВ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕рддреНрдпрд╛рдкрд┐рдд рдкреНрд░реЗрд╖рдХ рдореЗрдиреВ рдореЗрдВ, рдПрдХ рдирдпрд╛ рдкреНрд░реЗрд╖рдХ рдмрдЯрди рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рджреЗрдЦреЗрдВ
рдЫрд╡рд┐

рддреЛ, рдмрд╕ рдереЛрдбрд╝рд╛ рд╕рд╛ рдмрдЪрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдХ IAM рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдЙрд╕реЗ рдореЗрд▓ рднреЗрдЬрдиреЗ рдФрд░ рдЙрд╕реЗ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЛрдбрд╝реА рд╕реМрдВрдкрдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджреЗрдирд╛ рд╣реЛрдЧрд╛ред рд╣рдо рдпрд╣рд╛рдВ рдЬрд╛рддреЗ рд╣реИрдВ: https://console.aws.amazon.com/iam ред

рдПрдХ рдирдпрд╛ рд╕рдореВрд╣ рдмрдирд╛рдПрдБ:
рдЫрд╡рд┐

рдЗрд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВ:
рдЫрд╡рд┐

рд╕реБрд░рдХреНрд╖рд╛ рдиреАрддрд┐ рдХреЗ рдЦрд╛рдХреЗ рдореЗрдВ, рд╣рдо рддреИрдпрд╛рд░ рдЕрдореЗрдЬрд╝реЕрди рдПрд╕рдИрдПрд╕ рдкреВрд░реНрдг рдПрдХреНрд╕реЗрд╕ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд╛рддреЗ рд╣реИрдВ :
рдЫрд╡рд┐

рдЙрд╕рдХреЗ рдмрд╛рдж, рдиреЗрдХреНрд╕реНрдЯ, рдиреЗрдХреНрд╕реНрдЯ, рдиреЗрдХреНрд╕реНрдЯ рдФрд░ рдПрдХ рдпреВрдЬрд░ рдЧреНрд░реБрдк рдмрдирд╛рдпрд╛ред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрдиреВ рдореЗрдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЧрд▓рд╛ рдХрджрдо рд╣реИ:
рдЫрд╡рд┐

рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рддреБрд░рдВрдд рдЙрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬреЛрдбрд╝реА рдмрдирд╛рддреЗ рд╣реИрдВ:
рдЫрд╡рд┐

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛:
рдЫрд╡рд┐

рдЙрдирдХреА рдЪрд╛рдмреА рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЛ рдмрдЪрд╛рдУ:


рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрд╕ рд╕рдореВрд╣ рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдЬреЛ рдкрд╣рд▓реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЕрдзрд┐рдХрд╛рд░ рдорд┐рд▓реЗрдВрдЧреЗ:
рдЫрд╡рд┐

рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреБрдВрдЬреА рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд╣реИ рдЬрд┐рд╕реЗ SES рдХреЛ рдкрддреНрд░ рднреЗрдЬрдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдбреЛрдореЗрди рдХреЗ рд▓рд┐рдП SPF рд░рд┐рдХреЙрд░реНрдб

рдПрдХ рдореЗрд▓ рдореЗрд▓рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдореЗрдЬрд╝рди SES рдХреЛ рдорд╛рдиреНрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреЗ рдбреЛрдореЗрди рдореЗрдВ SPF рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝реЗрдВ:
v = spf1 рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ: amazonses.com? рд╕рднреА

Php рдореЗрд▓рд░

рдЗрд╕рдХреЗ рдмрд╛рдж, рдЕрдкрдиреЗ рдЖрдк рдХреЛ github.com/korjik/PHP-SES-mailer рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рд╕реЗ рдлрд╛рдЗрд▓ рдХреЙрдкреА рдХрд░реЗрдВ

ses.php - SES рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдЧ - www.orderingdisorder.com/aws/ses
users.csv - рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реВрдЪреА рдЙрджрд╛рд╣рд░рдг
"рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо", "username@email.com"
send_email.php - рдореЗрд▓ рд╡рд┐рддрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реАред

Send_email.php рдореЗрдВ, рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

рдореБрдЦреНрдп рдЬреЛрдбрд╝реА:
$ ses = new SimpleEmailService (' рдПрдХреНрд╕реЗрд╕ рдХреА рдЖрдИрдбреА ', ' рд╕реАрдХреНрд░реЗрдЯ рдПрдХреНрд╕реЗрд╕ рдХреБрдВрдЬреА ');

рдкрддреЗ рд╕реЗ рдорд╛рдиреНрдп:
$ m-> setFrom ('valid@email.com');

рдЕрдЧрд▓рд╛, 2 рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рднрд░реЗрдВ - рдЪрд░ $ text_email рдФрд░ рдирд╛рдо рдХреЗ рд╕рд╛рде $ html_email рд╕реНрд╡рдпрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред

рдпрджрд┐ рддреИрдпрд╛рд░реА рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдкрде рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде users.csv рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

$ php send_email.php users.csv

рдкрд░рд┐рдгрд╛рдо

Users.csv рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдИрдореЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВрдЧреЗред

рдЯрд┐рдкреНрд╕

рд╡рд┐рджреЗрд╢реА рдбреЛрдореЗрди рд╕реЗ рдкрддреЗ рд╕реЗ рдорд╛рдиреНрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред SPF рд░рд┐рдХреЙрд░реНрдб рдХреА рдХрдореА рд╕реЗ рдИрдореЗрд▓ рдХреЗ рд╕реНрдкреИрдо рдореЗрдВ рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред

рдЯреНрдпреВрдирд┐рдВрдЧ

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдкрдиреЗ рджреЗрдЦрд╛, рд╣рдо рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, CSV рдлрд╝рд╛рдЗрд▓ рд╕реЗ $ $ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо = $ user_fields [0] рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрдк рд╕реНрд╡рдпрдВ CSV рдкреНрд░рд╛рд░реВрдк рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╕реНрдЯрдо рдлрд╝реАрд▓реНрдб рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдЖрджрд┐ред

рдпрджрд┐ рдЖрдкрдХреЗ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рд▓рд┐рдЦреЗрдВ, рдореИрдВ рдЙрддреНрддрд░ рджреВрдВрдЧрд╛ред

рдкреБрдирд╢реНрдЪред рд▓реЗрдЦ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╢реНрд░реА m31 рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред

Source: https://habr.com/ru/post/In141102/


All Articles