David Taylor
0644c10bfe
FIX: Prioritize VERP key over final_recipient header in bounced email
...
Per RFC3464 2.3.2, the final_recipient header may not match the address we originally sent the email to.
2019-05-03 12:12:44 +01:00
Sam Saffron
4ea21fa2d0
DEV: use #frozen_string_literal: true on all spec
...
This change both speeds up specs (less strings to allocate) and helps catch
cases where methods in Discourse are mutating inputs.
Overall we will be migrating everything to use #frozen_string_literal: true
it will take a while, but this is the first and safest move in this direction
2019-04-30 10:27:42 +10:00
Arpit Jalan
230e111e87
DEV: more accurate spec for email iframe handling
2019-04-25 22:32:53 +05:30
Arpit Jalan
bd1db1860a
FIX: prefer data-original-href attribute to get iframe URL
2019-04-24 13:53:27 +05:30
Dan Ungureanu
35a866fe22
FIX: Do not strip email lines having lists.
2019-04-16 11:39:35 +03:00
Dan Ungureanu
e92cd5318b
FEATURE: Add setting to strip whitespaces from incoming emails. ( #7375 )
...
Some email clients add leading whitespaces which get are transformed in
code blocks when processed.
2019-04-15 16:26:00 +10:00
David Taylor
6a05f190c6
PERF: Do not create staged users for most rejected incoming emails ( #7301 )
...
Previously we would create users, then destroy them at the end of the job if the post was rejected. Now we do not create users unless required.
2019-04-08 10:36:39 +01:00
David Taylor
a9d5ffbe3d
FIX: Prevent critical emails bypassing disable, and improve email test logic
...
- The test_email job is removed, because it was always being run synchronously (not in sidekiq)
- 34b29f62
added a bypass for critical emails, to match the spec. This removes the bypass, and removes the spec.
- This adapts the specs for 72ffabf6
, so that they check for emails being sent
- This reimplements c2797921
, allowing test emails to be sent even when emails are disabled
2019-03-22 17:28:43 +08:00
David Taylor
3f9e7eb326
FIX: Respect the disable_emails=non-staff site setting correctly
...
This reverts commit c279792130
.
This commit inadvertently removed all of the non-staff email logic, rather than just for the 'test email' button.
https://meta.discourse.org/t/112231/5
2019-03-21 21:44:14 +00:00
Penar Musaraj
9334d2f4f7
FEATURE: add more granular user option levels for email notifications ( #7143 )
...
Migrates email user options to a new data structure, where `email_always`, `email_direct` and `email_private_messages` are replace by
* `email_messages_level`, with options: `always`, `only_when_away` and `never` (defaults to `always`)
* `email_level`, with options: `always`, `only_when_away` and `never` (defaults to `only_when_away`)
2019-03-15 10:55:11 -04:00
David Taylor
420c6f8102
FEATURE: Skip sending emails to domains on the .invalid
TLD ( #7162 )
...
This is a reserved TLD which we use when importing users without an email address. https://tools.ietf.org/html/rfc2606
2019-03-13 16:17:59 +00:00
Sam
b2187301fd
FEATURE: allow users to easily track/watch/mute topics via email
...
If you reply to an email with the word "mute" a topic will be muted
If you reply to an email with the word "track" a topic will be tracked
If you reply to an email with the word "watch" a topic will be watched
These ninja command can help advanced mailing list ex-users, saves a trip
to the website
2019-03-06 18:38:49 +11:00
Robin Ward
720e896e17
FIX: PostActionCreator
was not checking the guardian properly
...
It also exposed a bug in the EmailReceiver spec, where a test had a user
liking their own post and was not failing.
2019-01-31 14:48:42 -05:00
Régis Hanol
51fdf7a11d
FIX: don't duplicate attachments
2019-01-28 18:40:52 +01:00
Régis Hanol
db76e5a368
FIX: properly handle attachments in received emails
...
This regressed in 1ac3e547
when we added support for eml attachments.
2019-01-25 19:13:34 +01:00
Rishabh
c279792130
FIX: Allow sending test e-mails to any email address when disable_email is set to non-staff ( #6792 )
2018-12-18 16:12:05 +01:00
Vinoth Kannan
fc0b7c9e26
FIX: incoming email matches the wrong user if null bounce key available in db
2018-11-30 12:29:51 +05:30
Vinoth Kannan
bfb3c4d9f9
DEV: create bounce alert earlier if email_log detected from bounce_key
2018-11-28 21:13:06 +05:30
Vinoth Kannan
25253dec56
FIX: Get email address from email_log if bounced with verp
...
We can not access mail.final_recipient attr if it bounced with verp
2018-11-28 19:04:09 +05:30
Vinoth Kannan
7dbf709467
FIX: create whisper post in PMs when bounces with verp and user is staged
2018-11-28 08:24:23 +05:30
Guo Xiang Tan
68bef91dd6
DEV: Minor clean up of specs.
2018-11-27 13:09:58 +08:00
Vinoth Kannan
cedd2118c4
FEATURE: If PM email bounced for staged user then alert in whisper reply ( #6648 )
2018-11-27 00:29:37 +05:30
Régis Hanol
6b51d84dc5
FIX: Don't enqueue topics if the user can't create them
...
Co-authored-by: Vinoth Kannan <vinothkannan@vinkas.com>
2018-11-09 18:24:28 +01:00
Maja Komel
1ac3e5473a
FIX: don't strip eml attachments from received emails
2018-11-05 09:35:22 +01:00
Penar Musaraj
b06dccac49
FIX: force enable a user's email_private_messages option when user replies via email ( #6478 )
...
* Enable user email PM when posting to group or replying to topic via email
* remove extra line
* Add test and fix snake_case
* Only reenable email_private_messages for PM replies
2018-10-16 10:51:57 +11:00
Gerhard Schlager
7a41a783a4
FIX: Don't reply to Unsubscribe email sent to mailing list mirror
2018-10-11 16:09:22 +02:00
Guo Xiang Tan
5039a6c3f1
FIX: Strip null bytes in mail subjects.
2018-10-11 09:46:32 +08:00
Guo Xiang Tan
f26804394a
DEV: Remove the use of stubs on Rails.logger
in our test suite.
2018-10-10 09:34:50 +08:00
Maja Komel
361ad7ed2b
FEATURE: add indication if incoming email attachment was rejected and inform sender about it ( #6376 )
...
* FEATURE: add indication if incoming email attachment was rejected and inform sender about it
* include errors for rejected attachments in email
* don't send warning email to staged users
* use user object instead of user_id in add_attachments method
2018-10-04 22:08:28 +08:00
Penar Musaraj
da9eee5262
FIX: Force enable user PM emails option when user posts to a group by email.
2018-10-02 12:38:10 +08:00
Gerhard Schlager
eeedc3901e
FIX: Replying to deleted post via email should create new reply to topic
2018-09-03 23:06:40 +02:00
Guo Xiang Tan
36a7028f19
FEATURE: Clean up PostReplyKey
records.
...
* Default retention of 90 days.
2018-08-23 10:40:02 +08:00
Régis Hanol
f01169d6ff
FIX: don't send email when the post was deleted
2018-08-22 13:13:58 +02:00
Guo Xiang Tan
7dcc69aef4
DEV: Refactor test to not call private method.
2018-08-21 14:29:58 +08:00
Guo Xiang Tan
48f499b324
DEV: Refactor some mail receiver related specs.
2018-08-21 14:00:45 +08:00
Guo Xiang Tan
d104de2a09
Remove line that is no longer required.
2018-08-21 11:48:58 +08:00
Régis Hanol
ac2513b0f2
FEATURE: automatic PM when a user's email is revoked
2018-08-03 16:39:22 +02:00
OsamaSayegh
a157dfd418
UX: better rejection message when reply via email is too short
2018-08-02 22:43:53 +03:00
Guo Xiang Tan
fad9c2b971
PERF: Move EmailLog#reply_key
into new post_reply_keys
table.
2018-07-24 13:51:53 +08:00
Guo Xiang Tan
3874d40910
Prepare to drop EmailLog#topic_id
.
2018-07-18 10:22:24 +08:00
Leo McArdle
21ebb1cd54
FEATURE: Secondary emails support.
2018-07-16 11:09:49 +08:00
Patrick Gansterer
28dd7fb562
FEATURE: Create hidden posts for received spam emails ( #6010 )
...
* Add possibility to add hidden posts with PostCreator
* FEATURE: Create hidden posts for received spam emails
Spamchecker usually have 3 results: HAM, SPAM and PROBABLY_SPAM
SPAM gets usually directly rejected and needs no further handling.
HAM is good message and usually gets passed unmodified.
PROBABLY_SPAM gets an additional header to allow further processing.
This change addes processing capabilities for such headers and marks
new posts created as hidden when received via email.
2018-07-05 11:07:46 +02:00
Jeff Wong
4599cc8435
FIX: PM participants listed inline
2018-06-11 18:14:25 -07:00
Arpit Jalan
f9ab3848ed
FEATURE: support disabling emails for non-staff users
2018-06-07 18:31:08 +05:30
Guo Xiang Tan
7fc8a36529
DEV: Take 2 Queue jobs in tests by default.
...
On my machine this cuts the time taken to run our test suite
from ~11mins to ~9mins.
2018-05-31 16:23:23 +08:00
Guo Xiang Tan
56e9ff6853
Revert "DEV: Queue jobs in tests by default."
...
Too risky for now
This reverts commit be28154d3b
.
2018-05-31 15:34:46 +08:00
Guo Xiang Tan
be28154d3b
DEV: Queue jobs in tests by default.
2018-05-31 14:45:47 +08:00
Ryan Mulligan
fac4bf2f85
ignore emails that are from the reply by email addresses ( #5843 )
2018-05-23 10:04:45 +02:00
Régis Hanol
86eb3528ec
FEATURE: clearer error message when receiving a reply to an old notification
2018-05-09 18:51:01 +02:00
Régis Hanol
6b1ff0edd3
FIX: always update bounce score (instead of doing it once per day)
2018-05-09 16:40:52 +02:00
Jeff Wong
62a8904729
Feature: Include participants at the bottom of PM emails ( #5797 )
...
* Feature: Include participants at the bottom of PM emails
... as undecorated links.
https://meta.discourse.org/t/email-notification-recipients-unclear-when-pm-is-sent-to-multiple-users/26934/13?u=featheredtoast
Fix: missing translation for PM mentions
* display membership count as `group (count)`
2018-05-03 15:50:06 -07:00
Régis Hanol
ddb092f397
FIX: update mail gem to fix UTF-8 parsing issue
2018-04-25 21:53:37 +02:00
Gerhard Schlager
f2d00e5eff
FEATURE: Use Message-ID for detecting email replies to group
...
Ignores the site setting "find_related_post_with_key" and always tries to honor the `In-Reply-To` and `References` header for emails sent to a group.
The senders email address must be included in the `To` or `CC` header of a previous email sent to the group and the `Message-ID` of that email must be included in the current email's `In-Reply-To` or `References` header.
2018-04-05 11:00:38 +02:00
Gerhard Schlager
fcd352e089
FIX: Try fixing unparsable email addresses
...
The mail gem returns `UnstructuredField` when it fails to parse email addresses, but the `Receiver` always expects an `AddressList`.
2018-03-27 18:28:54 +02:00
Régis Hanol
fd33090646
FEATURE: automatically elides gmail quotes
2018-02-26 23:54:02 +01:00
Régis Hanol
7a13e50aa6
fix build
2018-02-22 11:17:49 +01:00
Gerhard Schlager
97e19a7d02
Fix the build
2018-02-21 11:26:41 +01:00
Régis Hanol
61930e092a
FIX: support incoming emails with just an attachment
2018-02-16 18:14:56 +01:00
Gerhard Schlager
9f7ae908d8
Add specs to check email domain whitelist/blacklist for To and Cc
2018-01-10 16:57:26 +01:00
Gerhard Schlager
f086d28b30
FIX: Do not validate messages sent to mailing list mirror
2018-01-05 11:21:53 +01:00
Gerhard Schlager
e0d73a957d
FEATURE: Allow posting via email to read-only mailing list mirror category
2018-01-05 11:21:53 +01:00
Gerhard Schlager
d7cd7e4dc7
FIX: Never mark emails sent to mailing list mirror as auto-generated
2018-01-05 11:21:53 +01:00
Gerhard Schlager
ceb7590bcb
FIX: bounced email can contain multiple status codes
2018-01-03 17:59:20 +01:00
Gerhard Schlager
16738cfb1b
FEATURE: convert plain text emails to markdown
2017-12-06 01:47:51 +01:00
Gerhard Schlager
1a3ab7c02e
ignore some site settings for emails sent to mailinglist mirror category
2017-11-17 15:29:14 +01:00
Gerhard Schlager
aea161fabd
suppress rejection email when email was sent to mailinglist mirror category
2017-11-17 15:29:14 +01:00
Robin Ward
971e302ff2
FEATURE: Support an end date for user silencing
2017-11-14 13:20:19 -05:00
Gerhard Schlager
d3baae5365
removes whitespaces and uses scope
2017-11-13 15:23:24 +01:00
Gerhard Schlager
5210e3e744
FEATURE: accept incoming email with reply_key mismatch when original email was forwarded
2017-11-12 23:44:22 +01:00
Gerhard Schlager
fc6de6863b
WIP
2017-11-12 21:12:34 +01:00
Gerhard Schlager
4dc4bc70c8
FIX: ignore_by_title should match case-insensitive
2017-11-12 01:43:18 +01:00
Robin Ward
1f14350220
Rename "Blocked" to "Silenced"
2017-11-10 14:10:27 -05:00
Régis Hanol
be0c7609f1
FIX: validates attachments against current authorized extensions
2017-11-07 19:17:33 +01:00
Gerhard Schlager
880d154381
FIX: deleting staged user of rejected email shouldn't delete incoming email
2017-10-31 15:13:23 +01:00
Gerhard Schlager
c0bb97b5cb
FIX: delete staged users when the incoming email is rejected
2017-10-11 16:17:01 +02:00
Régis Hanol
3bdd8f57c1
FIX: invited staged users would sometimes not get notified of replies
2017-10-06 16:37:28 +02:00
Gerhard Schlager
7f50380221
FIX: respect email domain whitelist/blacklist when creating staged users
2017-10-03 16:36:08 +02:00
Gerhard Schlager
76706f9144
FIX: don't create staged users when incoming email is rejected
...
FIX: don't send subscription mail to new users
2017-10-03 16:36:08 +02:00
Gerhard Schlager
31ecb4fecf
FIX: Handle incoming emails without email address in From header ( #5177 )
2017-09-12 22:35:24 +02:00
Leo McArdle
a7b7fe335f
FIX: allow an admin to click on blank errors ( #5027 )
...
* FIX: allow an admin to click on blank errors
* i18nlize strings
* what would a rails master do?
2017-08-04 20:04:26 +02:00
Leo McArdle
99527af38a
FIX: show rejected emails with unrecognized errors ( #5026 )
...
Although 407a23663d
will send rejection
messages for unrecognized errors, sometimes processing the email will
raise an error which has a blank message.
This commit:
1. Shows rejected emails which have already been processed and contain
a blank error in /admin/email/rejected
2. Replaces new blank error messages with the error type
2017-08-04 16:20:44 +02:00
Régis Hanol
88ba052446
secure default for the 'find_related_post_with_key' site setting
2017-08-01 00:03:04 +02:00
Régis Hanol
c7f76aa554
fix the receiver_spec
2017-07-31 11:29:39 +02:00
Guo Xiang Tan
5012d46cbd
Add rubocop to our build. ( #5004 )
2017-07-28 10:20:09 +09:00
Sam Saffron
045a2abcec
FEATURE: remove the timecop gem
...
We should only have one way of mocking time, misuse of timecop
was causing build stability issues
2017-07-24 12:11:10 -04:00
Guo Xiang Tan
8ee31d3c85
Re-enable skip tests for Email::Styles
.
2017-07-24 23:16:54 +09:00
Guo Xiang Tan
0ab0c82f11
Reenable skipped Email::Receiver
spec.
2017-07-24 22:27:24 +09:00
Régis Hanol
640ced004d
FIX: wasn't unfreezing time in email processor spec
2017-07-24 11:01:53 +02:00
Leo McArdle
407a23663d
FEATURE: send rejection email for unrecognized errors
2017-07-21 18:26:52 +01:00
Robin Ward
d2490cbbb8
Test failures for Inline Onebox
2017-07-20 16:01:16 -04:00
Leo McArdle
d0b027d88d
FEATURE: phase 1 of supporting multiple email addresses
2017-07-20 11:22:27 +09:00
Guo Xiang Tan
13f3de4bf6
Nuke all SiteSetting.stubs
from our codebase.
2017-07-07 15:09:14 +09:00
David Taylor
9294826f31
Allow inclusion of elided text from emails when sending to a category… ( #4844 )
...
* Allow inclusion of elided text from emails when sending to a category address
2017-06-29 13:03:14 +09:00
Arpit Jalan
6796de8bf2
FIX: replace site_name with email_prefix in subject when use_site_subject is true
2017-06-21 21:15:49 +05:30
Neil Lalonde
eb9f306e64
FIX: fail to send email notification if post has img tag with no src attribute
2017-06-15 10:36:19 -04:00
Robin Ward
602e4d0da4
FIX: Return nil
when the reply_key
is missing
2017-06-08 14:28:48 -04:00
Régis Hanol
9dddb81cf6
FIX: remove memoization on class method used in a job
2017-05-22 23:35:41 +02:00
Régis Hanol
4fb335f1f0
FIX: don't process the same incoming email more than once
2017-05-18 16:43:07 +02:00
Régis Hanol
bf322281e3
Improve handling of inlined images in incoming emails
2017-05-03 23:02:02 +02:00
Claus Strasburger
e9bb9a167b
Fix reply-by-mail for 8-bit transfer encodings
...
The mail class seems to handle mails sent with Content-Transfer-Encoding: 8bit
somewhat weirdly: It decodes them (to utf-8), changes the raw source to base64,
and does not modify the Content-Type:charset= header.
This leads to Discourse trying the message encoding (in my example ISO-8859-1)
first, and if that does not contain any unparseable characters, it uses that.
Sadly, in ISO-8859-1, every byte sequence is valid.
Fix this by always trying to decode as UTF-8 first. The probability of someone
using another encoding that cleanly (but wrongly) decodes as UTF-8 should be
fairly low.
2017-04-30 23:30:40 +02:00