o que devs precisam saber sobre email

64
O que devs precisam saber sobre envio de Emails Celso Crivelaro GURU-SP 30 de Maio de 2015

Upload: celso-crivelaro

Post on 22-Feb-2017

111 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: O que devs precisam saber sobre email

O que devs precisam saber sobre envio de Emails

Celso CrivelaroGURU-SP

30 de Maio de 2015

Page 2: O que devs precisam saber sobre email
Page 3: O que devs precisam saber sobre email
Page 4: O que devs precisam saber sobre email
Page 5: O que devs precisam saber sobre email
Page 6: O que devs precisam saber sobre email

O que devs precisam saber sobre envio de Emails

Page 7: O que devs precisam saber sobre email

“O email não chega na caixa postal”

Cliente

Page 8: O que devs precisam saber sobre email

Tipos de envio de Email

Page 9: O que devs precisam saber sobre email

Email Pessoal

Page 10: O que devs precisam saber sobre email

Email Transacional

Page 11: O que devs precisam saber sobre email

Email Marketing

Page 12: O que devs precisam saber sobre email

Como funciona o envio de emails?

Page 13: O que devs precisam saber sobre email
Page 14: O que devs precisam saber sobre email

SMTPSimple Mail Transfer Protocol

https://www.ietf.org/rfc/rfc2821.txt

https://tools.ietf.org/html/rfc821

Page 15: O que devs precisam saber sobre email

S: 220 smtp.domain.com ESMTP PostfixC: HELO sender.example.orgS: 250 Helo sender.example.org, I am glad to meet youC: MAIL FROM: Bob <[email protected]>S: 250 OKC: RCPT TO:Alice <[email protected]>S: 250 OKC: DATAS: 354 End data with <CR><LF>.<LF><CR>

Page 16: O que devs precisam saber sobre email

C: DATAS: 354 End data with <CR><LF>.<LF><CR>C: From: "Bob Example" <[email protected]>C: To: "Alice Example" <[email protected]>C: Cc: [email protected]: Date: Tue, 15 January 2008 16:02:43 -0500C: Subject: Test messageC: C: Hello Alice.C: This is a test message with 5 header fields and 4 lines in the message body.C: Your friend,C: BobC: .S: 250 Ok: queued as 12345C: QUITS: 221 Bye

Page 17: O que devs precisam saber sobre email

Ruby StdLib: Net::SMTP

Page 18: O que devs precisam saber sobre email

https://github.com/mikel/mail

Page 19: O que devs precisam saber sobre email
Page 20: O que devs precisam saber sobre email

Sender MTA MDA Receiver…

SMTPPOP

IMAP

Page 21: O que devs precisam saber sobre email

DNS: Entrada MX

Page 22: O que devs precisam saber sobre email
Page 23: O que devs precisam saber sobre email

Bounce

Page 24: O que devs precisam saber sobre email

Soft Bounces Hard Bounces

5.2.1 Mailbox disabled, not accepting messages

5.5.2 The recipient’s mailbox is full

5.5.3 Too many recipients

Pode retentar o envio Evitar a retentativa de envio

5.1.1 Bad destination mailbox address

5.6.1 Media not supported

5.1.2 Bad destination system address

http://tools.ietf.org/html/rfc3463

Page 25: O que devs precisam saber sobre email

Payload

Page 26: O que devs precisam saber sobre email
Page 27: O que devs precisam saber sobre email
Page 28: O que devs precisam saber sobre email
Page 29: O que devs precisam saber sobre email

RETURN PATH

Page 30: O que devs precisam saber sobre email
Page 31: O que devs precisam saber sobre email

UNSUBSCRIBE

Page 32: O que devs precisam saber sobre email
Page 33: O que devs precisam saber sobre email

Multipart

Page 34: O que devs precisam saber sobre email
Page 35: O que devs precisam saber sobre email
Page 36: O que devs precisam saber sobre email

“Todo e qualquer email enviado em massa sem a autorização do destinatário“

Page 37: O que devs precisam saber sobre email

+85% dos Emails são SPAM

Fonte: Cisco Senderbasehttp://www.senderbase.org/static/spam/

Page 38: O que devs precisam saber sobre email

Como sei que este remetente é verdadeiro?

Page 39: O que devs precisam saber sobre email

SPF, DKIM, DMARC

Page 40: O que devs precisam saber sobre email

Sender Policy Framework (SPF)

Page 41: O que devs precisam saber sobre email

Sender Policy Framework (SPF)

Page 42: O que devs precisam saber sobre email

DomainKeys Identified Mail (DKIM)

Page 43: O que devs precisam saber sobre email

Domain-based Message Authentication, Reporting, and Conformance (DMARC)

Page 44: O que devs precisam saber sobre email

https://engineering.groupon.com/2014/misc/dmarc-at-groupon/

Page 45: O que devs precisam saber sobre email

Feedback Loop

Page 46: O que devs precisam saber sobre email

Filtros AntiSpam

Provider - Sender

Provider

http://www.port25.com/list-of-current-feedback-loops-offered-at-isps/

Page 47: O que devs precisam saber sobre email

Infraestrutura para envios massivos

Page 48: O que devs precisam saber sobre email

Reputação de IP/Domínio

Page 49: O que devs precisam saber sobre email

IP1

IP2

IP3

Receiver

IP1

IP2

IP3

example.org

malicious.org

Email Reputation

Page 50: O que devs precisam saber sobre email

IP1

IP2

IP3

Receiver

IP1

IP2

IP3

example.org

malicious.org

!

!

Email Reputation

Page 51: O que devs precisam saber sobre email

www.senderbase.org

Page 52: O que devs precisam saber sobre email

www.senderbase.org

Page 53: O que devs precisam saber sobre email

Envio aos provedores

Page 54: O que devs precisam saber sobre email

IP1IP2

IP3

example.org

MTA

Page 55: O que devs precisam saber sobre email

Boas Práticas

Page 56: O que devs precisam saber sobre email

Usar serviços especializados

Relatórios

API

Contato com Provedores

Modelos de Email

Page 57: O que devs precisam saber sobre email

NÃO COMPRE LISTA DE EMAILS

Page 58: O que devs precisam saber sobre email

Double Opt-In

1. Captação 2. Confirmação

Page 59: O que devs precisam saber sobre email

Higienização de Base

[email protected]

[email protected]

[email protected]

Hard Bounce

Unsubscribe

Page 60: O que devs precisam saber sobre email

Multipart

Page 61: O que devs precisam saber sobre email

Multipart usando ActionMailer

app/views/user_mailer

welcome_email.text.erb

welcome_email.html.erb

Oi <%= @user.name %>, bem vindo!

<div>Oi <strong><%= @user.name %></strong>, <br> Bem vindo!</div>

Page 62: O que devs precisam saber sobre email

HTML / CSS são diferentes da web

Page 63: O que devs precisam saber sobre email

Dúvidas?

Page 64: O que devs precisam saber sobre email

Obrigado!

Celso [email protected]

@celsocrivelaro