mailee 0.4.2 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.markdown +41 -32
- data/VERSION +1 -1
- data/lib/mailee/action_mailer.rb +2 -2
- data/mailee.gemspec +2 -2
- metadata +4 -4
data/README.markdown
CHANGED
@@ -1,15 +1,18 @@
|
|
1
|
-
|
1
|
+
Mailee - Email marketing para quem entende de tecnologia.
|
2
2
|
==============
|
3
3
|
|
4
|
-
|
4
|
+
O problema
|
5
|
+
=
|
5
6
|
|
6
7
|
Você está desenvolvendo um sistema (e-commerce, cms, erp...) e o seu cliente solicita a possibilidade de enviar e-mails promocionais, ou notícias, para diversos contatos. Por experiência própria, você sabe que enviar e-mails não é coisa para _scriptkiddies_, e que, de fato, não vale a pena o esforço de desenvolver todo um sistema que faça o envio, garanta a entrega, analise os retornos e também apresente resultados de tudo isso. O problema é que os sistemas que você conhece não permitem uma integração fácil e rápida com seus sistemas em Rails...
|
7
8
|
|
8
|
-
|
9
|
+
A solução
|
10
|
+
=
|
9
11
|
|
10
12
|
Esta gem tem como objetivo manter os contatos da sua aplicação sincronizados com os contatos do Mailee (www.mailee.me) sem muito esforço. De fato, basta executar o método "sync_with_mailee" no seu modelo (clientes, contatos, pessoas...) que este irá automaticamente realizar as tarefas de inserir, atualizar, excluir e descadastrar via REST. No Mailee, seu cliente poderá então montar as mensagens e enviar para os contatos.
|
11
13
|
|
12
|
-
|
14
|
+
O que posso fazer com a gem?
|
15
|
+
=
|
13
16
|
|
14
17
|
* Simplesmente utilizar as classes do Mailee para:
|
15
18
|
* Criar, atualizar, buscar e excluir contatos.
|
@@ -21,51 +24,55 @@
|
|
21
24
|
* Integrar com ActiveRecord (com ou sem Rails) e fazer um modelo sincronizar automaticamente com o Mailee.me.
|
22
25
|
* Integrar com ActionMailer (com ou sem Rails) e fazer os mailers enviarem as mensagens pelo Mailee.me.
|
23
26
|
|
24
|
-
|
27
|
+
Instalação
|
28
|
+
=
|
25
29
|
|
26
30
|
* Adicione a seguinte linha ao seu Gemfile:
|
27
31
|
> gem 'mailee'
|
28
32
|
* E execute o bundle:
|
29
33
|
> bundle install
|
30
34
|
* Uma vez instalado, para configurar, execute:
|
31
|
-
>
|
35
|
+
> rails g mailee_rails:setup
|
32
36
|
|
33
37
|
Este comando irá solicitar sua URL da API e criar um initializer com toda a configuração necessária.
|
34
38
|
A URL da API você descobre entrando no Mailee e indo em Configurações > Integração > REST
|
35
39
|
|
36
40
|
Pronto!
|
37
41
|
|
38
|
-
|
42
|
+
Compatibilidade
|
43
|
+
=
|
39
44
|
|
40
45
|
Rails 3. 'Nuff said. Se você precisa de suporte aoRails 2, baixe a versão 0.1.0, mas ela possui muito menos funcionalidades do que a versão atual.
|
41
46
|
|
42
|
-
|
47
|
+
Uso
|
48
|
+
=
|
43
49
|
|
44
50
|
* Na mão (console)
|
45
51
|
|
46
52
|
Você pode usar a api do maile "na mão". Basta abrir o console e usar:
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
53
|
+
= code
|
54
|
+
ruby script/console
|
55
|
+
include Mailee
|
56
|
+
Contact.find(:all)
|
57
|
+
Contact.find(:first)
|
58
|
+
Contact.search('russell')
|
59
|
+
Contact.find_by_internal_id(789)
|
60
|
+
Contact.find_by_email('russell@cambridge.edu.uk')
|
61
|
+
Contact.create(:name => 'Bertrand Russell', :email => 'russell@cambridge.edu.uk')
|
62
|
+
Contact.create(:email => 'ludwig@wittgenstein.edu.uk', :dynamic_attributes => {:influence => 'Frege'})
|
63
|
+
List.find(:all)
|
64
|
+
List.find(:first)
|
65
|
+
List.create(:name => 'My List')
|
66
|
+
Template.find(:all)
|
67
|
+
Template.find(:first)
|
68
|
+
Template.create(:title => 'My Template', :html => File.read('mytemplate.html'))
|
69
|
+
# Message with HTML and list
|
70
|
+
message = Message.create :title => "Title", :subject => "Subject", :from_name => "Rorty", :from_email => "rorty@princeton.us", :html => File.read('myhtml.html'), :list_id => 987
|
71
|
+
# Message with emails and template (with edits & repeats)
|
72
|
+
message = Message.create :title => "Title", :subject => "Subject", :from_name => "Rorty", :from_email => "rorty@princeton.us", :template_id => 765, :edits => {:greeting => 'Hi Davidson!'}, :repeats => {:news => ['A good news', 'A bad news'], :emails => 'davidson@some.com davidson@another.com'}
|
73
|
+
message.test([44,55,66])
|
74
|
+
message.ready # send it now
|
75
|
+
message.ready(10.days.from_now)
|
69
76
|
|
70
77
|
* Com modelos (ActiveRecord)
|
71
78
|
|
@@ -149,10 +156,12 @@
|
|
149
156
|
> rake mailee:send CLASS=Contact AFTER=5.days.ago
|
150
157
|
Neste caso, ele vai apenas sincronizar os contatos que foram atualizados (baseado no campo "updated_at") nos últimos 5 dias.
|
151
158
|
|
152
|
-
|
159
|
+
Cuidado!
|
160
|
+
=
|
153
161
|
|
154
162
|
A gem utiliza a API REST do Mailee para enviar dados, por isto cuide bem da sua URL - se alguém descobrir isso pode ser ruim. Para saber qual o contato na sua aplicação a gem utiliza um campo disponível no Mailee chamado "internal_id" o qual recebe o "id" da sua tabela na criação. Este id é usado nas atualizações, descadastros e exclusões, então tome (ou avise seu cliente para tomar!) cuidado ao editar este campo na interface do Mailee.
|
155
163
|
|
156
|
-
|
164
|
+
Dúvidas?
|
165
|
+
=
|
157
166
|
|
158
167
|
Qualquer dúvida, não hesite em falar conosco pelo e-mail suporte@mailee.me, pelo twitter @maileeme ou pelo IRC #maileeme.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.4.
|
1
|
+
0.4.3
|
data/lib/mailee/action_mailer.rb
CHANGED
@@ -30,7 +30,7 @@ module Mailee
|
|
30
30
|
from_name = mail.header['from'].to_s.scan(/(.+?) <.+?>$/).to_s
|
31
31
|
message = Mailee::Message.create :title => mail.subject, :subject => mail.subject, :from_name => from_name, :from_email => mail.from.first, :emails => mail.to.join(' '), :html => mail.body.to_s
|
32
32
|
result = message.ready(mail.date)
|
33
|
-
mail.instance_eval{ self.class.send('attr_accessor', :mailee_message); self.mailee_message =
|
33
|
+
mail.instance_eval{ self.class.send('attr_accessor', :mailee_message); self.mailee_message = message }
|
34
34
|
self
|
35
35
|
end
|
36
36
|
end
|
@@ -49,4 +49,4 @@ module Mailee
|
|
49
49
|
|
50
50
|
end
|
51
51
|
end
|
52
|
-
ActionMailer::Base.send(:include, Mailee::Send)
|
52
|
+
ActionMailer::Base.send(:include, Mailee::Send)
|
data/mailee.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{mailee}
|
8
|
-
s.version = "0.4.
|
8
|
+
s.version = "0.4.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Juan Maiz"]
|
12
|
-
s.date = %q{2010-10-
|
12
|
+
s.date = %q{2010-10-16}
|
13
13
|
s.description = %q{Permite sincronizar automaticamente seus modelos com o Mailee.me, inclusive com gerenciamento de optin.}
|
14
14
|
s.email = %q{suporte@mailee.me}
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mailee
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 9
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 3
|
10
|
+
version: 0.4.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Juan Maiz
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-10-
|
18
|
+
date: 2010-10-16 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies: []
|
21
21
|
|