Skip to content

Commit ca0f154

Browse files
committed
Add unsubscribe url to newsletter emails
1 parent f650d12 commit ca0f154

File tree

6 files changed

+26
-2
lines changed

6 files changed

+26
-2
lines changed

app/mailers/emails/newsletter_mailer.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,10 @@ def newsletter(newsletter:, user:, unsubscribe_token:)
1313
@user = user
1414
@unsubscribe_token = unsubscribe_token
1515

16+
@unsubscribe_url = unsubscribe_users_newsletter_subscription_url(unsubscribe_token)
1617
headers["MESSAGE-STREAM"] = "broadcast"
18+
headers["List-Unsubscribe-Post"] ||= "List-Unsubscribe=One-Click"
19+
headers["List-Unsubscribe"] = "<#{@unsubscribe_url}>"
1720

1821
mail(to: user.email, subject: newsletter.title)
1922
end
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
11
<%= render Markdown::Base.new(@newsletter.content.html_safe) %>
2+
3+
<hr>
4+
5+
<%= link_to "Unsubscribe", @unsubscribe_url %> | <%= Rails.application.credentials.company.mailing_address %>
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
11
<%= @newsletter.content %>
2+
3+
* * *
4+
5+
[Unsubscribe](<%= @unsubscribe_url %>) | <%= Rails.application.credentials.company.mailing_address %>

config/credentials/development.yml.enc.sample

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,26 @@
11
# Run 'bin/rails secret' on the command line to set secret key base
22
secret_key_base: replace-me
33

4+
company:
5+
mailing_address: "PO Box 1234, New York, NY 12345"
6+
47
litestream:
58
# minio s3-like object store database
69
# docker run -p 9000:9000 -p 9001:9001 minio/minio server /data --console-address ":9001"
710
bucket: joyofrails-data.localhost:9000
811
access_key_id: minioadmin
912
secret_access_key: minioadmin
1013

14+
postmark:
15+
api_token: POSTMARK_API_TEST
16+
17+
emails:
18+
test_recipient: [email protected]
19+
transactional_from_address: [email protected]
20+
transactional_from_name: Joy of Rails
21+
broadcast_from_address: [email protected]
22+
broadcast_from_name: Joy of Rails
23+
1124
seeds:
1225
admin_email: [email protected]
1326
admin_password: password

config/credentials/production.yml.enc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
aEa907hC5fqaG4dnkxjIOTic52nEidIQYhR2SmVU96LQ0Tw9blhUby1fCWQNe1TLe/vhHWWJLYrNro+a0lbcLxznJmrd4LupEXcqTpyqiRC1of6E9eFciz79JgvwaqOQoVQ5CaSPNf0K2qycIYk8w+iYli8j0SdFVtN6q8Tqdvsa7u148HGbtRlc/KClLpqa8P5rDaMCVVIiy97CsyjrOz82RioKnJiNwxwUm5VHqbJHTHvbnHjSOt7M9kBUWOKKdoYKJr/Pls/C0SdI/v3eeTFR+tUGdJCLlehy8l/KHD6zuMJL7oNCA9qgly6+KM5KXaE2sUQWzMhLFcj2c/m+4yzuzUvUc5VqwcYVbEHolJTvNuSrVu4hJoTopuK3rSnyC9yjENpRdeTovW/twxijdBac9yCtgskzyuMUiHHnFRxibol2wyzFQxbmtEkeAHBW/rd1lCky9rLRpvMkMmHhUaq1ql2MH7aQqs/jTfyPzPydpas0wc2QrJCiK+9HiiGhyehpMt5Gdd5BT1uis14K1MzmTfKxOjEyvUKTScz6gt9N0tOdRjjKUZHIk3wphYwDA/6hHDYFYd0B0ovFQx3FVAGwwpmmiddK/+ImP56CyZpJLQ957EMcezhuYSZK/F8ObJkqtCJTkEU7JZceLjc9MAdrtbxGK8EpXH19+49RnH1IwLzKzPPl8gHC+P9EqEsl9Z6UyoLGvPFeVRHTt3VxU2Zec3Fc+9rj4EzUtbKIAeal6qg4gk9kzk4Fr2yZv++qEcEifnhPK2XTuEiLxZLGUC5n+966XdgenFDeoD6Eli6mijigv72B5GGrnQvmokirXVu6jDX1Y6FgmTA4jJU/DJilAEwEA3IGkHjyC5faO6YTXvZ0dQ39je8YvcYQkL3mlSRr0PKznCuDZmmv5MB4S0krGj/58wMv7a2yeeWcHDtL2XvdFvvXP8d3QRHXJZBCdEs2W/RqIso1Is7owLczLpnWMsKVEBxgXdpLQIEGRGFZDKqEF9DUrYxI0Oi75ZV48Jt19pKYH9aDtDlVqUX1H0NgLgMERLNV3R+5aEq831x1xgnNsIcs0a9iGBycbSar+WDfax3L4yu02n423lA2ygS4JfP78Byl02NuyTJ5w4AXZNhYKXobWjhF69bUX0tq91oiEEvFhN28Z8zLar8ETCf7zlHRjbW+nr5x0v60a17BfTg5cp+UBpD5HJsn23PNdD4bjKtL39EW0PwQgDvhWiuMxz0Ato3W9jZ1QAhxHtpzhQ4ZZ6vDCtvc1v2Lh0JO0pXZMSTm5Th33Gd7/yDelftmzahCq84jKTn2qTJOrPFZHHBbrWC3nIv/GAtcnp44aeXLZWCVsJHXUXbhhXq1HxluBPmFovmRZmDByX0MdeQxyMo5k++b+lGsILeash2RmRAlfh3L9gS+S7Yq4lt83ebRqKPfowEmoPlobbqtcovHOz3mrQZah5tyzt76BFZgQBS8tlXTTKik0enT6jADTU0VkwXv53Lb9XC4elGIGh+UU8HmbLw2ugFzmVANKWRTOdx3CvF/WQrpcbn2Eko1cIAT1HmXDWvOp9bZDJLEpct6IoSko3W9bCghDM/cKhouF+vi0ZPJAR8K0w2mXTWdTe8sTZmk13cg4SstYg30Ze3qRWmN5L96GbemAv0Hm1PJDVlTUSYH9FC7LVX7eclqY/P7LN/r6C3T4nukcQ8fs9G9VEns3yVzm8ZrF+BSaMWrr2YX+FZu+u7467Rg5I+9a+VikquXu+djTAmIxfcS40+71TsgghFzgh4=--/VUcntmltCA2Muwe--N0iiWNQQiAHAxcq82fSbGw==
1+
IH95tU0T3O6yApnCtRMZOWAnCvyzgQqphFX5SQl649jl2TzCsXBikgURYtsk4JAGpBUKW41nimioCPGOIiGQJlUhKQseAhKJO8VKwas3LTU0aGp6c6GUdK9GD/gcf2tS+lUbu4FDVzdqXJrjcha0G+PdGxJyhOckBmmfr5GqiBaH8kwZEHVCRe2npa+APBzNry53Xyao3sOEueOkNvpvPvyET4dvPDk1I4MvRMEP3oXQ14kJbpzd9OWIrZl9DMp9WqTUBpLU8TrTgel3wY3MJMCKz9yCwlXZii+ueA08rTTU6uQeiJ1mIbMqFsQCF2x8JgKQ2I9iWJw0KP7ugEHHFfyNgcnk0U8yJKTLhuHnkMzB5xDhqq4yiqqgXWkJNlIAp8n89ZrtF8fZnkoxmEfE71DDHtoPeUjG6vfNgprzlOqicTOPMVxfpd0LLvXIRBMZdoGN+vR2iGJGJ6+Y8gJRRFvU0kcWAUG7h3ycGm/kwoAZCWrjBOR0G2WPLPzaNYHeFlEy+Z2CFLZjF2gg+u/nF7B6nZKlJ2u8EGxsxWKSyQLaK1kC644Lh7wvg849uq9NxW8wtAEClBJ4J1i3yDCcQWvtNrlQ8lW+PuUeuLJx8Z441N9uvZwoN+QTV7RAe3TOkW/gy6erK0Q+SrT3rLGgc47vemm9+cnZXF8qaxerQ86KjiUe2iw7g0V4HJusXP6sRB4grjMCdX78rdfQnQKWA24IAiPwoGYnJKs/+WrdGQaNyMfz2EgKghx3Yyz3Q6uL5BvaPygKnMXHbuw3preCocdArczX3oUg8kd6pFLCW1FAU+rzV8pCYzs3ltj0zaQs8b7ybTBhGe8paWphhVQBn9v5Ztk5t2jq09pUy4eS0nWwKeG6SSsNjjz7gt53irvTiiIv5z7Lg7eoI3+/XVeEpM5j5YWTJkzcWQGzL4a5o0Zx/QVJxo7DDjzHa6tz4nL/9WuJquBTps/RkRf1AUIC0Us0T3ZO+pCjKtWSqaHsyUO7F0zsw3zPUbnIRhG3xR8J+CJ2mrT2M+5jk2TOfRPgN8fP/f7d/ztG9mvY591xhPyanQfLvvK8u+0cz6YPO1eE+l/1+YEaYFWEUPbvxnFjKfUE34+ziw+jaIHZbp0rExGt31YUVFhj5aOZL9blhqjqdTSMK68EZFAWIM0TZHKzjsrHdq4FbpcEfJUPT0WQRRao6UtDuTiC6ILjMrN01eFcCgPIZabAPw8LTyNroX2T+l6RvzDCvHCtUa4JCuLH6IhTz6PmruzFL+ukP+aghMxVxNIWdiaWfENq3p4UW+rgUndSak5YrGh6t/wGmRGp0T1d/Lt6gW7xYFVslaSzKTzUFroxTn+4zKCczPdoIK2Sc6hFx0o7zMllThHV+JD6t+3I3i+h/bkdgh3DXRmjpOIi4C0rx3GYb9mVXlw2ojM+5P61Nx5EVkJFH+WTzRDY3T5ELfoXI7qefm6mD4wxdBYln1VBglvvbh0edBgelj3daw240KOxd0i8NdEW67yp5G1B4+8GHQ7cuwzY7zCqXMfoJHTyMnkOl3Ro3CV2rEAkITdIl7QClgBZpeTi/vDcXDJxzPdfefEy3HQaRNIqTMuqIDakCcmpUj9t4N4m5zS6Au66reNIH/Z+zyIm/Dug1DuV2qm/7qcxtpPi0r1BFEdbUg75LhMKqg+/ss/J+aO/gEbsnTA36i/CNcUVDh9Lx5996F3pRscmtbvdWkAq1iO/yCRFUF7M3ydm/TbehSwhk+YuZcNloqDQl3A2BhITGtgBxZiuZlevLAMaq0lH5oUoAmwLelvE5qCtNmXK0LZ4A1yZnk0O1x6O79un3AjZKTyFqjTOxAy1yHcWlBMv3TYn4X6HgFziEZdO--7qqeE+kDMlVpk2ev--C4uqWKdQYFELQyE539/rkg==

config/credentials/test.yml.enc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
+Nzg1S47FRQJnxOUHcEMzrDRWtwpIykGnGMueLmU9poyM/8SM4Bqii3Xf+AXQaUs3XQkpemQf1JCgODvLl7f2ImKEqADzbiKG0K9IbB4a38FSSAcGoEjLMTKYaNhoVd8UWk5dDmCYyBAIh9+XWOubODEWTx6c4gSmIC0vd2fSEGY5zCmhxnCT7rcdFRe/GDV9C14olI1D76Z4CH8j7wHhYSUrMKdp5YRMM3HbQ1nfD3IRwpSUj3XKVLP3bjaFCuxe8rhXcN/BoWUYDqmajZXxxLJPjKBFdYLafFCJpLwvn0NiJX/2CWXTC35m+KzVAxXzKpTMtEelmTBfitR+auTRfMcu3PiAIvGXRt6+zK7hNu9tfASVAlSYkZIVcVPkUwKNtdXEZ9jcFr26vNyXIuWK6iQoru6i47hEWSX4XOVjQiwnKHVjkFEZFlNkKJLTdTyuxchkEnQo8QVln1ePXf0V3Jb86X/qIh3Rp/z8ooyeiTgKJ5mRK7ZL1qsR82fTdGIiTc6N8MJgJFkOY94WERXV7wTQxZUMhwZItImli+ntS45zmFp5aVujDMi/UV5t0/pJ/pDapjQiZLjv99lh4NqFClpglqmtGSZ+uBq2QVupAKQgzjRl19IzVU+zCyuqWeaCp/b2v5yGcjfab6db+nbc61vcKIf6FVWVGxQzTLRwZsNNa5FjK6HrK7CqiqJ3hZY3W7Uoz+h4zv/DsCFOdlS0A+hjHpTipn3OABuVgVGvznNvYNfhTnWQShYOMp3WkxQT7QDAc6eqEjr8w1kM+vqOnkvGr6mdRaIwtS96Lp1fRtyByTohGa1lP4xnNFdITLtKMGafmzMb+woSK655VutzEW4GezrLl9oDk+G--2bafm/bMWpYEvkx/--g3w98XJDIf6dB5rvrgeLoQ==
1+
oMcWPDJEmyhhtKLVq6G16fD2N5SIQX8Yegh5oD1xq9CMvSthqfoNY5T5tw8wS1M9cc+TbnShAzgY1OX56m+T1hXDr/faQiiOaUfryppum2oYL5/t7aj655Xvm/oHuy0zreDjUbh3nZnfyir38zOhbVvOd5n0Ok/HKywVxlXVUB0kVR6BYae/TmPOfSMVNKT52deAMDomIZiQd/BQQZWHAUd938U4M4hsQGyXsV87cptC9PjlflPuHjlXvPlP5RJB3y5+sOwnKGoRyBTtuW6Rm6Dm/tuU2pAMRKm3QVMvPPvmNNX82cpQH5cddsZoqPfNVOSQSaYvx7F4Sukk15WjlKrJ95MhDQwx7SJNcKq8HNZqlGDHam2zSkYxNbgtl5lruv7q6zj6BbKT9slv/ehMb+XHM9NzF3y7ebv2y3pv3P1RvGxwEHlu5xK4FmHbdiwSIDwW/kDVkwNt3XTgHO/LGKSDVydUKOGwixrKbE87/xWfMHFk767Ytj+JIeu+Jc9cBofWnrKaxuC7Fxl9ou89D6wRx/2X3+iUlBvr8jHpWEogNd9Aie0j1UPs6wV7u7Tp7fxZHagt9xUwkNDfR/Ky4+egwPY2+Uxc/FTgsEEuF46eO6G3keuV2qN1PDOF1+LrJWOV7/mCDzCp2v9iPZk2Nvxewk0YxB0+gVJsXj2Q6WfZbuwdOIsPU3fnYAgNXMf+JtTSjZx715fYPUcxcXVB0j1YsVC3vuK75MJhh09R5ApxGx5MLy6KresQAIcKGnxd8zprGQc8WY3Sv62xEXoecEeBwgSb4Ll0zfW1GgmCyFNWEZRkY3Oni7MYXcyhoQwfz6UhSBjBPQvI6GuW/uzPfBaaG4dpdNvpr9bE54lKFIAA7G+jPokKR+IFDyFB5ukCPeudsoJvPIiVhrM0o2OOkS+tRHxxyisoDnJ/YbmrVR7K4Z9PdCGbPTj7--CtGxtOv04eUbKiLD--m+6TlCwHcphTLrg5S6Celg==

0 commit comments

Comments
 (0)