mail_spy 0.0.18 → 0.1.0
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.rdoc +2 -0
- data/app/models/mail_spy/email.rb +14 -10
- data/lib/generators/mail_spy/templates/mail_spy.rb +3 -0
- data/lib/mail_spy.rb +5 -1
- data/lib/mail_spy/manager.rb +7 -14
- data/lib/mail_spy/version.rb +1 -1
- data/test/dummy/log/test.log +381 -0
- metadata +2 -2
data/README.rdoc
CHANGED
@@ -75,6 +75,20 @@ module MailSpy
|
|
75
75
|
load_template("text.erb")
|
76
76
|
end
|
77
77
|
|
78
|
+
|
79
|
+
def deliver
|
80
|
+
begin
|
81
|
+
MailSpy::CoreMailer.template(self).deliver
|
82
|
+
self.update_attribute(:sent, true)
|
83
|
+
rescue Exception => e
|
84
|
+
self.failed = true
|
85
|
+
self.error_message = e.try(:message)
|
86
|
+
self.error_backtrace = e.try(:backtrace)
|
87
|
+
self.save!
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
|
78
92
|
protected
|
79
93
|
|
80
94
|
# Loads a template file from s3 using
|
@@ -99,16 +113,6 @@ module MailSpy
|
|
99
113
|
end
|
100
114
|
|
101
115
|
|
102
|
-
|
103
|
-
#var key_hash = {
|
104
|
-
# campaign:this.campaign,
|
105
|
-
# stream:this.stream,
|
106
|
-
# component:this.component,
|
107
|
-
# campaign:this.subject
|
108
|
-
#};
|
109
|
-
#
|
110
|
-
|
111
|
-
|
112
116
|
def self.generate_subject_reports
|
113
117
|
map = <<-eof
|
114
118
|
function(){
|
@@ -4,6 +4,8 @@
|
|
4
4
|
#
|
5
5
|
# aws credentials: We use aws to store the templates for the emails.
|
6
6
|
#
|
7
|
+
# If you have delayed job and want to use it to clear the outstanding emails
|
8
|
+
# toggle it on here
|
7
9
|
|
8
10
|
|
9
11
|
MailSpy.configure do |config|
|
@@ -11,6 +13,7 @@ MailSpy.configure do |config|
|
|
11
13
|
config.aws_access_key_id = "YOUR ACCESS KEY"
|
12
14
|
config.aws_secret_access_key = "YOUR SECRET ACCESS KEY"
|
13
15
|
config.aws_campaign_bucket = "campaigns-yourco-com"
|
16
|
+
config.using_delayed_job = true
|
14
17
|
end
|
15
18
|
|
16
19
|
|
data/lib/mail_spy.rb
CHANGED
@@ -19,7 +19,7 @@ module MailSpy
|
|
19
19
|
|
20
20
|
MailSpyConfig = Struct.new(
|
21
21
|
:tracker_host, :aws_access_key_id,
|
22
|
-
:aws_secret_access_key, :aws_campaign_bucket
|
22
|
+
:aws_secret_access_key, :aws_campaign_bucket, :using_delayed_job
|
23
23
|
|
24
24
|
)
|
25
25
|
@@config = MailSpyConfig.new
|
@@ -62,4 +62,8 @@ module MailSpy
|
|
62
62
|
@@config.aws_campaign_bucket
|
63
63
|
end
|
64
64
|
|
65
|
+
def self.using_delayed_job
|
66
|
+
@@config.using_delayed_job
|
67
|
+
end
|
68
|
+
|
65
69
|
end
|
data/lib/mail_spy/manager.rb
CHANGED
@@ -64,6 +64,7 @@ module MailSpy
|
|
64
64
|
|
65
65
|
# Enable sendgrid specific enhancements
|
66
66
|
# Must happen after the email has been saved for the id
|
67
|
+
# TODO test this works
|
67
68
|
if esp.options[:enable_sendgrid_event_tracking].present?
|
68
69
|
header = MailSpy::Sendgrid::SmtpApiHeader.new
|
69
70
|
header.setUniqueArgs({:eid => email.id.to_s})
|
@@ -92,7 +93,7 @@ module MailSpy
|
|
92
93
|
wq = WorkQueue.new(num_threads, step*2)
|
93
94
|
current_time = DateTime.now
|
94
95
|
offset = 0
|
95
|
-
|
96
|
+
processed = 0
|
96
97
|
|
97
98
|
# Helper function for setting present values
|
98
99
|
def set_if_present(email, pony_hash, pony_key, email_key=nil)
|
@@ -104,32 +105,24 @@ module MailSpy
|
|
104
105
|
while true
|
105
106
|
emails = MailSpy::Email.
|
106
107
|
limit(step).offset(offset).asc(:_id).
|
107
|
-
where(:schedule_at.lte => current_time, :sent => false, :failed => false).
|
108
|
-
collect
|
108
|
+
where(:schedule_at.lte => current_time, :sent => false, :failed => false).all
|
109
109
|
break if emails.count <= 0 #returns enumerator which is never blank
|
110
110
|
emails.each do |email|
|
111
|
+
processed += 1
|
111
112
|
wq.enqueue_b do
|
112
|
-
|
113
|
-
MailSpy::CoreMailer.template(email).deliver
|
114
|
-
email.update_attribute(:sent, true)
|
115
|
-
sent += 1
|
116
|
-
rescue Exception => e
|
117
|
-
email.failed = true
|
118
|
-
email.error_message = e.try(:message)
|
119
|
-
email.error_backtrace = e.try(:backtrace)
|
120
|
-
email.save!
|
121
|
-
end
|
113
|
+
MailSpy.using_delayed_job ? email.delay.deliver : email.deliver
|
122
114
|
end
|
123
115
|
end
|
124
116
|
|
125
117
|
# We must join here otherwise the next loop email lookup will be in a
|
126
118
|
# race condition with the results of our worker_queue.
|
127
119
|
wq.join
|
120
|
+
|
128
121
|
offset += step
|
129
122
|
end
|
130
123
|
|
131
124
|
success = true
|
132
|
-
return
|
125
|
+
return processed
|
133
126
|
|
134
127
|
ensure
|
135
128
|
if current_process
|
data/lib/mail_spy/version.rb
CHANGED
data/test/dummy/log/test.log
CHANGED
@@ -15967,3 +15967,384 @@ MONGODB dummy_test['mail_spy_emails'].remove({})
|
|
15967
15967
|
[1m[35m (0.1ms)[0m rollback transaction
|
15968
15968
|
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
15969
15969
|
[1m[35m (0.0ms)[0m rollback transaction
|
15970
|
+
MONGODB [WARNING] Please note that logging negatively impacts client-side performance. You should set your logging level no lower than :info in production.
|
15971
|
+
MONGODB admin['$cmd'].find({:ismaster=>1}).limit(-1)
|
15972
|
+
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
15973
|
+
MONGODB dummy_test['system.namespaces'].find({})
|
15974
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
15975
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
15976
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
15977
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
15978
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
15979
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
15980
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
15981
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
15982
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
15983
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
15984
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
15985
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
15986
|
+
MONGODB dummy_test['system.namespaces'].find({})
|
15987
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
15988
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
15989
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
15990
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
15991
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
15992
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
15993
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
15994
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
15995
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
15996
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
15997
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
15998
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
15999
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16000
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16001
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16002
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16003
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16004
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16005
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16006
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16007
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16008
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16009
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16010
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16011
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16012
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16013
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16014
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16015
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16016
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16017
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16018
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16019
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16020
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16021
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16022
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16023
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16024
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16025
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16026
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16027
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16028
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16029
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16030
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16031
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16032
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16033
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16034
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
16035
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16036
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16037
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16038
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16039
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16040
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16041
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16042
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16043
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16044
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16045
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16046
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16047
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16048
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16049
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16050
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16051
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16052
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16053
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16054
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16055
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16056
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16057
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16058
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
16059
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16060
|
+
MONGODB [WARNING] Please note that logging negatively impacts client-side performance. You should set your logging level no lower than :info in production.
|
16061
|
+
MONGODB admin['$cmd'].find({:ismaster=>1}).limit(-1)
|
16062
|
+
[1m[36m (0.3ms)[0m [1mbegin transaction[0m
|
16063
|
+
[AWS S3 200 0.823449] get_bucket_versioning(:bucket_name=>"daviacalendar-mailspy")
|
16064
|
+
|
16065
|
+
[AWS S3 200 0.131318] head_object(:bucket_name=>"daviacalendar-mailspy",:key=>"tests/a-stream/a-helper_test.html.erb")
|
16066
|
+
|
16067
|
+
[AWS S3 200 0.124509] get_object(:bucket_name=>"daviacalendar-mailspy",:key=>"tests/a-stream/a-helper_test.html.erb")
|
16068
|
+
|
16069
|
+
[AWS S3 200 0.095148] get_bucket_versioning(:bucket_name=>"daviacalendar-mailspy")
|
16070
|
+
|
16071
|
+
[AWS S3 200 0.094755] head_object(:bucket_name=>"daviacalendar-mailspy",:key=>"tests/a-stream/a-helper_test.text.erb")
|
16072
|
+
|
16073
|
+
[AWS S3 200 0.122807] get_object(:bucket_name=>"daviacalendar-mailspy",:key=>"tests/a-stream/a-helper_test.text.erb")
|
16074
|
+
|
16075
|
+
MONGODB dummy_test['system.namespaces'].find({})
|
16076
|
+
MONGODB dummy_test['mail_spy_emails'].insert([{"headers"=>{}, "template_values"=>{}, "sent"=>false, "failed"=>false, "_id"=>BSON::ObjectId('4f339aa9ba12eb873b000001'), "to"=>"trcarden@gmail.com", "from"=>"test@test.com", "reply_to"=>"testGuy", "subject"=>"test subject", "campaign"=>"tests", "stream"=>"a-stream", "component"=>"a-helper_test", "schedule_at"=>2012-02-09 10:06:33 UTC, "email_service_provider"=>"sendgrid", "utm_source"=>"mailspy", "utm_medium"=>"email", "utm_campaign"=>"tests", "utm_term"=>"a-stream", "utm_content"=>"a-helper_test", "updated_at"=>2012-02-09 10:06:36 UTC, "created_at"=>2012-02-09 10:06:36 UTC}])
|
16077
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339aa9ba12eb873b000001')}, {"$set"=>{"headers"=>{"X-SMTPAPI"=>"{\"unique_args\": {\"eid\": \"4f339aa9ba12eb873b000001\"}}"}}})
|
16078
|
+
Rendered inline template (23.1ms)
|
16079
|
+
Rendered inline template (1.3ms)
|
16080
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16081
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16082
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16083
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16084
|
+
MONGODB dummy_test['mail_spy_emails'].insert([{"headers"=>{}, "template_values"=>{}, "sent"=>false, "failed"=>false, "_id"=>BSON::ObjectId('4f339aadba12eb873b000002'), "to"=>"trcarden@gmail.com", "from"=>"test@test.com", "reply_to"=>"testGuy", "subject"=>"test subject", "campaign"=>"tests", "stream"=>"a-stream", "component"=>"a-helper_test", "schedule_at"=>2012-02-09 10:06:37 UTC, "email_service_provider"=>"sendgrid", "utm_source"=>"mailspy", "utm_medium"=>"email", "utm_campaign"=>"tests", "utm_term"=>"a-stream", "utm_content"=>"a-helper_test", "updated_at"=>2012-02-09 10:06:37 UTC, "created_at"=>2012-02-09 10:06:37 UTC}])
|
16085
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339aadba12eb873b000002')}, {"$set"=>{"headers"=>{"X-SMTPAPI"=>"{\"unique_args\": {\"eid\": \"4f339aadba12eb873b000002\"}}"}}})
|
16086
|
+
MONGODB dummy_test['mail_spy_emails'].find({}).limit(-1).sort([[:_id, :asc]])
|
16087
|
+
Rendered inline template (1.5ms)
|
16088
|
+
Rendered inline template (1.3ms)
|
16089
|
+
|
16090
|
+
Sent mail to trcarden@gmail.com (1365ms)
|
16091
|
+
Date: Thu, 09 Feb 2012 02:06:37 -0800
|
16092
|
+
From: test@test.com
|
16093
|
+
Reply-To: testGuy
|
16094
|
+
To: trcarden@gmail.com
|
16095
|
+
Message-ID: <4f339aadc661c_873b80434f4c52247@toms-iphone-4.mail>
|
16096
|
+
Subject: test subject
|
16097
|
+
Mime-Version: 1.0
|
16098
|
+
Content-Type: multipart/alternative;
|
16099
|
+
boundary="--==_mimepart_4f339aada972a_873b80434f4c5198f";
|
16100
|
+
charset=UTF-8
|
16101
|
+
Content-Transfer-Encoding: 7bit
|
16102
|
+
X-SMTPAPI: {"unique_args": {"eid": "4f339aadba12eb873b000002"}}
|
16103
|
+
|
16104
|
+
|
16105
|
+
|
16106
|
+
----==_mimepart_4f339aada972a_873b80434f4c5198f
|
16107
|
+
Date: Thu, 09 Feb 2012 02:06:37 -0800
|
16108
|
+
Mime-Version: 1.0
|
16109
|
+
Content-Type: text/plain;
|
16110
|
+
charset=UTF-8
|
16111
|
+
Content-Transfer-Encoding: 7bit
|
16112
|
+
Content-ID: <4f339aadb8f27_873b80434f4c52029@toms-iphone-4.mail>
|
16113
|
+
|
16114
|
+
You should be able to click on the link and have the server record the even
|
16115
|
+
and forward you to the correct place.
|
16116
|
+
|
16117
|
+
A link : <a href="http://localhost:5000/mail/t?eid=4f339aadba12eb873b000002&n=1&url=www.google.com">My home</a>
|
16118
|
+
---------------------------
|
16119
|
+
|
16120
|
+
You should be able to show images in the email client and have the server
|
16121
|
+
track the open
|
16122
|
+
A Bug is in the parenthesis (<img src='http://localhost:5000/mail/b?eid=4f339aadba12eb873b000002' style='display:none' width='1' height='1' border='0' />)
|
16123
|
+
|
16124
|
+
|
16125
|
+
|
16126
|
+
|
16127
|
+
----==_mimepart_4f339aada972a_873b80434f4c5198f
|
16128
|
+
Date: Thu, 09 Feb 2012 02:06:37 -0800
|
16129
|
+
Mime-Version: 1.0
|
16130
|
+
Content-Type: text/html;
|
16131
|
+
charset=UTF-8
|
16132
|
+
Content-Transfer-Encoding: 7bit
|
16133
|
+
Content-ID: <4f339aadc1810_873b80434f4c521c6@toms-iphone-4.mail>
|
16134
|
+
|
16135
|
+
<p>
|
16136
|
+
You should be able to click on the link and have the server record the even
|
16137
|
+
and forward you to the correct place.
|
16138
|
+
|
16139
|
+
A link : <a href="http://localhost:5000/mail/t?eid=4f339aadba12eb873b000002&n=1&url=www.google.com">My home</a>
|
16140
|
+
</p>
|
16141
|
+
|
16142
|
+
<br>
|
16143
|
+
|
16144
|
+
<p>
|
16145
|
+
You should be able to show images in the email client and have the server
|
16146
|
+
track the open
|
16147
|
+
A Bug is in the parenthesis (<img src='http://localhost:5000/mail/b?eid=4f339aadba12eb873b000002' style='display:none' width='1' height='1' border='0' />)
|
16148
|
+
</p>
|
16149
|
+
|
16150
|
+
|
16151
|
+
|
16152
|
+
----==_mimepart_4f339aada972a_873b80434f4c5198f--
|
16153
|
+
|
16154
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16155
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16156
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16157
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16158
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16159
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16160
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16161
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16162
|
+
MONGODB dummy_test['system.namespaces'].find({})
|
16163
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16164
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16165
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16166
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16167
|
+
MONGODB dummy_test['mail_spy_emails'].insert([{"headers"=>{}, "template_values"=>{}, "sent"=>false, "failed"=>false, "_id"=>BSON::ObjectId('4f339aafba12eb873b000003'), "to"=>"test@test.com", "from"=>"test@test.com", "reply_to"=>"testGuy", "subject"=>"test subject", "campaign"=>"tests", "stream"=>"a-stream", "component"=>"a-helper_test", "schedule_at"=>2012-02-09 10:06:39 UTC, "email_service_provider"=>"sendgrid", "utm_source"=>"mailspy", "utm_medium"=>"email", "utm_campaign"=>"tests", "utm_term"=>"a-stream", "utm_content"=>"a-helper_test", "updated_at"=>2012-02-09 10:06:39 UTC, "created_at"=>2012-02-09 10:06:39 UTC}])
|
16168
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339aafba12eb873b000003')}, {"$set"=>{"headers"=>{"X-SMTPAPI"=>"{\"unique_args\": {\"eid\": \"4f339aafba12eb873b000003\"}}"}}})
|
16169
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16170
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16171
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16172
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16173
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16174
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16175
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16176
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16177
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16178
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16179
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16180
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16181
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16182
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16183
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16184
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16185
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16186
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16187
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16188
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16189
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16190
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16191
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16192
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16193
|
+
[AWS S3 200 0.091908] get_bucket_versioning(:bucket_name=>"daviacalendar-mailspy")
|
16194
|
+
|
16195
|
+
[AWS S3 404 0.095029] head_object(:bucket_name=>"daviacalendar-mailspy",:key=>"NO SUCH CAMPAIGN/NO SUCH STREAM/NO SUCH COMPONENT.html.erb") AWS::S3::Errors::NoSuchKey: No Such Key
|
16196
|
+
|
16197
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16198
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16199
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16200
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16201
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16202
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16203
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16204
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16205
|
+
MONGODB dummy_test['mail_spy_emails'].insert([{"headers"=>{}, "template_values"=>{}, "sent"=>false, "failed"=>false, "_id"=>BSON::ObjectId('4f339aafba12eb873b000005'), "to"=>"trcarden@gmail.com", "from"=>"test@test.com", "reply_to"=>"testGuy", "subject"=>"test subject", "campaign"=>"tests", "stream"=>"a-stream", "component"=>"a-helper_test", "schedule_at"=>2012-02-09 10:06:39 UTC, "email_service_provider"=>"sendgrid", "utm_source"=>"mailspy", "utm_medium"=>"email", "utm_campaign"=>"tests", "utm_term"=>"a-stream", "utm_content"=>"a-helper_test", "updated_at"=>2012-02-09 10:06:39 UTC, "created_at"=>2012-02-09 10:06:39 UTC}])
|
16206
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339aafba12eb873b000005')}, {"$set"=>{"headers"=>{"X-SMTPAPI"=>"{\"unique_args\": {\"eid\": \"4f339aafba12eb873b000005\"}}"}}})
|
16207
|
+
MONGODB dummy_test['mail_spy_process_logs'].find({:running=>true}).limit(-1).sort([[:_id, :asc]])
|
16208
|
+
MONGODB dummy_test['mail_spy_process_logs'].insert([{"success"=>false, "running"=>true, "_id"=>BSON::ObjectId('4f339aafba12eb873b000006'), "start"=>2012-02-09 10:06:39 UTC, "updated_at"=>2012-02-09 10:06:39 UTC, "created_at"=>2012-02-09 10:06:39 UTC}])
|
16209
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{:schedule_at=>{"$lte"=>2012-02-09 10:06:39 UTC}, :sent=>false, :failed=>false}, "fields"=>nil}).limit(-1)
|
16210
|
+
MONGODB dummy_test['mail_spy_emails'].find({:schedule_at=>{"$lte"=>2012-02-09 10:06:39 UTC}, :sent=>false, :failed=>false}).limit(100).sort([[:_id, :asc]])
|
16211
|
+
Rendered inline template (1.8ms)
|
16212
|
+
Rendered inline template (1.3ms)
|
16213
|
+
|
16214
|
+
Sent mail to trcarden@gmail.com (1207ms)
|
16215
|
+
Date: Thu, 09 Feb 2012 02:06:39 -0800
|
16216
|
+
From: test@test.com
|
16217
|
+
Reply-To: testGuy
|
16218
|
+
To: trcarden@gmail.com
|
16219
|
+
Message-ID: <4f339aaf5ff2b_873b844c03a452619@toms-iphone-4.mail>
|
16220
|
+
Subject: test subject
|
16221
|
+
Mime-Version: 1.0
|
16222
|
+
Content-Type: multipart/alternative;
|
16223
|
+
boundary="--==_mimepart_4f339aaf5b54c_873b844c03a45237";
|
16224
|
+
charset=UTF-8
|
16225
|
+
Content-Transfer-Encoding: 7bit
|
16226
|
+
X-SMTPAPI: {"unique_args": {"eid": "4f339aafba12eb873b000005"}}
|
16227
|
+
|
16228
|
+
|
16229
|
+
|
16230
|
+
----==_mimepart_4f339aaf5b54c_873b844c03a45237
|
16231
|
+
Date: Thu, 09 Feb 2012 02:06:39 -0800
|
16232
|
+
Mime-Version: 1.0
|
16233
|
+
Content-Type: text/plain;
|
16234
|
+
charset=UTF-8
|
16235
|
+
Content-Transfer-Encoding: 7bit
|
16236
|
+
Content-ID: <4f339aaf5e38e_873b844c03a4524d4@toms-iphone-4.mail>
|
16237
|
+
|
16238
|
+
You should be able to click on the link and have the server record the even
|
16239
|
+
and forward you to the correct place.
|
16240
|
+
|
16241
|
+
A link : <a href="http://localhost:5000/mail/t?eid=4f339aafba12eb873b000005&n=1&url=www.google.com">My home</a>
|
16242
|
+
---------------------------
|
16243
|
+
|
16244
|
+
You should be able to show images in the email client and have the server
|
16245
|
+
track the open
|
16246
|
+
A Bug is in the parenthesis (<img src='http://localhost:5000/mail/b?eid=4f339aafba12eb873b000005' style='display:none' width='1' height='1' border='0' />)
|
16247
|
+
|
16248
|
+
|
16249
|
+
|
16250
|
+
|
16251
|
+
----==_mimepart_4f339aaf5b54c_873b844c03a45237
|
16252
|
+
Date: Thu, 09 Feb 2012 02:06:39 -0800
|
16253
|
+
Mime-Version: 1.0
|
16254
|
+
Content-Type: text/html;
|
16255
|
+
charset=UTF-8
|
16256
|
+
Content-Transfer-Encoding: 7bit
|
16257
|
+
Content-ID: <4f339aaf5f3e8_873b844c03a452524@toms-iphone-4.mail>
|
16258
|
+
|
16259
|
+
<p>
|
16260
|
+
You should be able to click on the link and have the server record the even
|
16261
|
+
and forward you to the correct place.
|
16262
|
+
|
16263
|
+
A link : <a href="http://localhost:5000/mail/t?eid=4f339aafba12eb873b000005&n=1&url=www.google.com">My home</a>
|
16264
|
+
</p>
|
16265
|
+
|
16266
|
+
<br>
|
16267
|
+
|
16268
|
+
<p>
|
16269
|
+
You should be able to show images in the email client and have the server
|
16270
|
+
track the open
|
16271
|
+
A Bug is in the parenthesis (<img src='http://localhost:5000/mail/b?eid=4f339aafba12eb873b000005' style='display:none' width='1' height='1' border='0' />)
|
16272
|
+
</p>
|
16273
|
+
|
16274
|
+
|
16275
|
+
|
16276
|
+
----==_mimepart_4f339aaf5b54c_873b844c03a45237--
|
16277
|
+
|
16278
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339aafba12eb873b000005')}, {"$set"=>{"sent"=>true, "updated_at"=>2012-02-09 10:06:40 UTC}})
|
16279
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{:schedule_at=>{"$lte"=>2012-02-09 10:06:39 UTC}, :sent=>false, :failed=>false}, "fields"=>nil}).limit(-1)
|
16280
|
+
MONGODB dummy_test['mail_spy_process_logs'].update({"_id"=>BSON::ObjectId('4f339aafba12eb873b000006')}, {"$set"=>{"end"=>2012-02-09 10:06:40 UTC, "seconds_elapsed"=>1, "running"=>false, "success"=>true, "updated_at"=>2012-02-09 10:06:40 UTC}})
|
16281
|
+
MONGODB dummy_test['mail_spy_process_logs'].find({}).limit(-1).sort([[:_id, :asc]])
|
16282
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16283
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16284
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16285
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16286
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16287
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16288
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16289
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16290
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_process_logs", "query"=>{}, "fields"=>nil}).limit(-1)
|
16291
|
+
MONGODB dummy_test['mail_spy_process_logs'].remove({})
|
16292
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16293
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
16294
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16295
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16296
|
+
MONGODB dummy_test['mail_spy_emails'].insert([{"headers"=>{}, "template_values"=>{}, "sent"=>false, "failed"=>false, "_id"=>BSON::ObjectId('4f339ab0ba12eb873b000007'), "to"=>"trcarden@gmail.com", "from"=>"test@test.com", "reply_to"=>"testGuy", "subject"=>"test subject", "campaign"=>"tests", "stream"=>"a-stream", "component"=>"a-helper_test", "schedule_at"=>2012-02-09 10:06:40 UTC, "email_service_provider"=>"sendgrid", "utm_source"=>"mailspy", "utm_medium"=>"email", "utm_campaign"=>"tests", "utm_term"=>"a-stream", "utm_content"=>"a-helper_test", "updated_at"=>2012-02-09 10:06:40 UTC, "created_at"=>2012-02-09 10:06:40 UTC}])
|
16297
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339ab0ba12eb873b000007')}, {"$set"=>{"headers"=>{"X-SMTPAPI"=>"{\"unique_args\": {\"eid\": \"4f339ab0ba12eb873b000007\"}}"}}})
|
16298
|
+
MONGODB dummy_test['mail_spy_emails'].find({}).limit(-1).sort([[:_id, :asc]])
|
16299
|
+
Processing by MailSpy::TrackingController#action as HTML
|
16300
|
+
Parameters: {"eid"=>"4f339ab0ba12eb873b000007", "action_type"=>"Conversion", "count"=>"3"}
|
16301
|
+
MONGODB dummy_test['mail_spy_emails'].find({:_id=>BSON::ObjectId('4f339ab0ba12eb873b000007')}).limit(-1).sort([[:_id, :asc]])
|
16302
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339ab0ba12eb873b000007')}, {"$push"=>{"actions"=>{"count"=>3, "_id"=>BSON::ObjectId('4f339ab0ba12eb873b000008'), "action_type"=>"Conversion", "updated_at"=>2012-02-09 10:06:40 UTC, "created_at"=>2012-02-09 10:06:40 UTC}}})
|
16303
|
+
Completed 200 OK in 5ms (ActiveRecord: 0.0ms)
|
16304
|
+
MONGODB dummy_test['mail_spy_emails'].find({:_id=>BSON::ObjectId('4f339ab0ba12eb873b000007')}).limit(-1)
|
16305
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16306
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16307
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16308
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16309
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16310
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16311
|
+
MONGODB dummy_test['mail_spy_emails'].insert([{"headers"=>{}, "template_values"=>{}, "sent"=>false, "failed"=>false, "_id"=>BSON::ObjectId('4f339ab0ba12eb873b000009'), "to"=>"trcarden@gmail.com", "from"=>"test@test.com", "reply_to"=>"testGuy", "subject"=>"test subject", "campaign"=>"tests", "stream"=>"a-stream", "component"=>"a-helper_test", "schedule_at"=>2012-02-09 10:06:40 UTC, "email_service_provider"=>"sendgrid", "utm_source"=>"mailspy", "utm_medium"=>"email", "utm_campaign"=>"tests", "utm_term"=>"a-stream", "utm_content"=>"a-helper_test", "updated_at"=>2012-02-09 10:06:40 UTC, "created_at"=>2012-02-09 10:06:40 UTC}])
|
16312
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339ab0ba12eb873b000009')}, {"$set"=>{"headers"=>{"X-SMTPAPI"=>"{\"unique_args\": {\"eid\": \"4f339ab0ba12eb873b000009\"}}"}}})
|
16313
|
+
MONGODB dummy_test['mail_spy_emails'].find({}).limit(-1).sort([[:_id, :asc]])
|
16314
|
+
Processing by MailSpy::TrackingController#bug as HTML
|
16315
|
+
Parameters: {"eid"=>"4f339ab0ba12eb873b000009"}
|
16316
|
+
MONGODB dummy_test['mail_spy_emails'].find({:_id=>BSON::ObjectId('4f339ab0ba12eb873b000009')}).limit(-1).sort([[:_id, :asc]])
|
16317
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339ab0ba12eb873b000009')}, {"$push"=>{"actions"=>{"count"=>1, "_id"=>BSON::ObjectId('4f339ab0ba12eb873b00000a'), "action_type"=>"open", "updated_at"=>2012-02-09 10:06:40 UTC, "created_at"=>2012-02-09 10:06:40 UTC}}})
|
16318
|
+
Completed 200 OK in 3ms (ActiveRecord: 0.0ms)
|
16319
|
+
MONGODB dummy_test['mail_spy_emails'].find({:_id=>BSON::ObjectId('4f339ab0ba12eb873b000009')}).limit(-1)
|
16320
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16321
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16322
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16323
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16324
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16325
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16326
|
+
MONGODB dummy_test['mail_spy_emails'].insert([{"headers"=>{}, "template_values"=>{}, "sent"=>false, "failed"=>false, "_id"=>BSON::ObjectId('4f339ab0ba12eb873b00000b'), "to"=>"trcarden@gmail.com", "from"=>"test@test.com", "reply_to"=>"testGuy", "subject"=>"test subject", "campaign"=>"tests", "stream"=>"a-stream", "component"=>"a-helper_test", "schedule_at"=>2012-02-09 10:06:40 UTC, "email_service_provider"=>"sendgrid", "utm_source"=>"mailspy", "utm_medium"=>"email", "utm_campaign"=>"tests", "utm_term"=>"a-stream", "utm_content"=>"a-helper_test", "updated_at"=>2012-02-09 10:06:40 UTC, "created_at"=>2012-02-09 10:06:40 UTC}])
|
16327
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339ab0ba12eb873b00000b')}, {"$set"=>{"headers"=>{"X-SMTPAPI"=>"{\"unique_args\": {\"eid\": \"4f339ab0ba12eb873b00000b\"}}"}}})
|
16328
|
+
MONGODB dummy_test['mail_spy_emails'].find({}).limit(-1).sort([[:_id, :asc]])
|
16329
|
+
Processing by MailSpy::TrackingController#link as HTML
|
16330
|
+
Parameters: {"eid"=>"4f339ab0ba12eb873b00000b", "url"=>"http://google.com", "n"=>"0"}
|
16331
|
+
MONGODB dummy_test['mail_spy_emails'].find({:_id=>BSON::ObjectId('4f339ab0ba12eb873b00000b')}).limit(-1).sort([[:_id, :asc]])
|
16332
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339ab0ba12eb873b00000b')}, {"$push"=>{"actions"=>{"count"=>1, "_id"=>BSON::ObjectId('4f339ab0ba12eb873b00000c'), "action_type"=>"click", "details"=>{:url=>"http://google.com", :link_number=>"0"}, "updated_at"=>2012-02-09 10:06:40 UTC, "created_at"=>2012-02-09 10:06:40 UTC}}})
|
16333
|
+
Redirected to http://google.com?utm_campaign=tests&utm_content=a-helper_test&utm_medium=email&utm_source=mailspy&utm_term=a-stream
|
16334
|
+
Completed 302 Found in 3ms (ActiveRecord: 0.0ms)
|
16335
|
+
MONGODB dummy_test['mail_spy_emails'].find({}).limit(-1).sort([[:_id, :asc]])
|
16336
|
+
MONGODB dummy_test['mail_spy_emails'].find({:_id=>BSON::ObjectId('4f339ab0ba12eb873b00000b')}).limit(-1)
|
16337
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16338
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16339
|
+
[1m[35m (0.1ms)[0m rollback transaction
|
16340
|
+
[1m[36m (0.0ms)[0m [1mbegin transaction[0m
|
16341
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16342
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16343
|
+
MONGODB dummy_test['mail_spy_emails'].insert([{"headers"=>{}, "template_values"=>{}, "sent"=>false, "failed"=>false, "_id"=>BSON::ObjectId('4f339ab0ba12eb873b00000d'), "to"=>"trcarden@gmail.com", "from"=>"test@test.com", "reply_to"=>"testGuy", "subject"=>"test subject", "campaign"=>"tests", "stream"=>"a-stream", "component"=>"a-helper_test", "schedule_at"=>2012-02-09 10:06:40 UTC, "email_service_provider"=>"sendgrid", "utm_source"=>"mailspy", "utm_medium"=>"email", "utm_campaign"=>"tests", "utm_term"=>"a-stream", "utm_content"=>"a-helper_test", "updated_at"=>2012-02-09 10:06:40 UTC, "created_at"=>2012-02-09 10:06:40 UTC}])
|
16344
|
+
MONGODB dummy_test['mail_spy_emails'].update({"_id"=>BSON::ObjectId('4f339ab0ba12eb873b00000d')}, {"$set"=>{"headers"=>{"X-SMTPAPI"=>"{\"unique_args\": {\"eid\": \"4f339ab0ba12eb873b00000d\"}}"}}})
|
16345
|
+
MONGODB dummy_test['mail_spy_emails'].find({}).limit(-1).sort([[:_id, :asc]])
|
16346
|
+
MONGODB dummy_test['$cmd'].find({"count"=>"mail_spy_emails", "query"=>{}, "fields"=>nil}).limit(-1)
|
16347
|
+
MONGODB dummy_test['mail_spy_emails'].remove({})
|
16348
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
16349
|
+
[1m[36m (0.1ms)[0m [1mbegin transaction[0m
|
16350
|
+
[1m[35m (0.0ms)[0m rollback transaction
|
metadata
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
name: mail_spy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
4
|
prerelease:
|
5
|
-
version: 0.0
|
5
|
+
version: 0.1.0
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Timothy Cardenas
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2012-02-
|
13
|
+
date: 2012-02-09 00:00:00 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|