sibomots Posted November 5, 2022 Posted November 5, 2022 (edited) Invision Community v4.7.4 PHP 8.0 Repo-case: Receive a PM (Direct message) from another site member within the site. Read the message. Initiate a reply within the PM (DM) feature of the site. In the body of the message include an email address (user@domain) Press Submit Reply Expected behavior: The body (whatever it is) of the message is sent to the Member on the site through the in-site PM feature. No actual email (RFC822, etc..) sent. Example: (In the PM) Thanks for the note, here is my email address: user@whatever.com Actual behavior: The PM message is not sent through the IPS feature to the other member on the site. The text-buffer holding the message in the on-site editor is cleared No error shown in logs ACP logs. Please note -- the repo-case does NOT expect the message to be sent to the email address IN the BODY. The body of the message just happens to contain an email address, but there is NO expectation that the message is sent to any address mentioned in the body. The bug (?) is reproduced when the body of the PM contains an RFC822, etc.. address. Remove the email address from the body, and the PM is sent to the other Member. Leave the email address in the body, then 1, PM is NOT sent to the Member (on the site), and 2, the buffer clears. Again to be clear: There is no expectation that the PM is sent to any email address IN the BODY. The problem is PM's between members on the site (and only sent/received through the PM feature of the site) cannot be sent if the body contains an email address. Anyone else see this behavior? Is it a configuration issue? Is this a feature? (to prevent PM's to other Members where the body contains an email address) ? Edited November 5, 2022 by sibomots
sibomots Posted November 5, 2022 Author Posted November 5, 2022 Update. So another edge case: Receive a PM. Reply to the PM In the reply put NO RFC822, etc. email address in BODY. Press Submit Expected Behavior: The message is sent. Actual Behavior: The message is sent. (So far so good) Now very quickly ( in order to leverage the "merge" message feature) make another reply to the same PM thread. In the second reply (done quickly) put an RFC822, etc. email address. Press submit. Expected Behavior: The message (2nd) is merged into the first and is SENT Actual Behavior The message (2nd) is merged into the first and is SENT. (So this is strange... when the Message is merged (being so soon after the first), the PM with the 822 email address is not a problem in the BODY. It goes through as a PM). If I wait to reply, and make a REPLY with the BODY containing an RFC 822, etc. email address then it won't go as a PM (as originally described). Another weird edge case: Initiate a new PM with a member. Steps: Initiate a PM with a member on the site. In the BODY include an RFC822, etc. email address. Press sent. Expected Results: The message is sent as PM to the member on the site. Actual Results: The message is sent as PM to the member on the site. Upshot - works as expected IF the PM is initiating the thread and the BODY of the message contains an email address. Why wouldn't it work. It's as expected. It seems that late replies to PM's that contain RFC822, etc. email addresses is the problem (?)
Adriano Faria Posted November 5, 2022 Posted November 5, 2022 Not sure I understand your examples (I guess it all is about merging messages?) but messages are merged within a number of minutes you set in ACP (search for Merge concurrent posts in the ACP live search). If you want to exclude messages from being merged, use this: Sorry if I misunderstood.
Marc Posted November 7, 2022 Posted November 7, 2022 I am unable to reproduce any issues with sending emails which contain email addresses on this end either
sibomots Posted November 8, 2022 Author Posted November 8, 2022 On 11/7/2022 at 1:43 AM, Marc Stridgen said: I am unable to reproduce any issues with sending emails which contain email addresses on this end either So on the latest bits (version) when you compose a PM within IPS to some other member on the site (as a PM) and in the body of the message something like: "Hey bob, here's my email address alice@whatever.com" No issue? Interesting... Hmm.
Randy Calvert Posted November 8, 2022 Posted November 8, 2022 No issues for me. Lots of our members send email addresses in the subject line.
sibomots Posted November 8, 2022 Author Posted November 8, 2022 On 11/5/2022 at 8:13 AM, Adriano Faria said: Not sure I understand your examples (I guess it all is about merging messages?) but messages are merged within a number of minutes you set in ACP (search for Merge concurrent posts in the ACP live search). If you want to exclude messages from being merged, use this: Sorry if I misunderstood. It's not about merging messages. It is about body of PM that contain an actual email address. If the PM is the initial salvo (the initiation of the PM thread) then the IPS system allows the body of the PM to contain the email and the PM is sent. If the PM is a reply, then the IPS system does not allow the reply to contain an email address in the body. If the PM is a reply, but the reply is made very quickly (within the limit of when merge can occur) and the body does contain an email address, then the PM is sent. It's that middle case "PM replies that contain email addresses" that won't go through.
Jim M Posted November 8, 2022 Posted November 8, 2022 Ensure that you allow email addresses first of all in posts by going to ACP -> System -> Posting -> Links & Email Addresses.
sibomots Posted November 13, 2022 Author Posted November 13, 2022 That might be the answer.. We'll try out the scheme and see if that's the fix for PM replies that contain email addresses in their body.
Dazz Posted November 26, 2022 Posted November 26, 2022 I was getting this as well. On 11/8/2022 at 1:42 PM, Jim M said: Ensure that you allow email addresses first of all in posts by going to ACP -> System -> Posting -> Links & Email Addresses. "Hold the content for moderator approval" was selected for somereason, perhaps default after last upgrade? While I was trying to track this down I checked my system logs and they show the following. Once I changed to allow email addresses; this appears to have fixed the problem. TypeError: IPS\core\_Approval::loadFromContent(): Argument #2 ($id) must be of type int, null given, called in /home/xxxxxxxxx/xxxxxxxxx.com/system/Content/Content.php on line 754 and defined in /home/xxxxxxxxx/xxxxxxxxx.com/applications/core/sources/Approval/Approval.php:212 Stack trace: #0 /home/xxxxxxxxx/xxxxxxxxx.com/system/Content/Content.php(754): IPS\core\_Approval::loadFromContent('IPS\\core\\Messen...', NULL) #1 /home/xxxxxxxxx/xxxxxxxxx.com/system/Content/Comment.php(189): IPS\_Content->checkProfanityFilters(false, false) #2 /home/xxxxxxxxx/xxxxxxxxx.com/applications/core/sources/Messenger/Message.php(151): IPS\Content\_Comment::create(Object(IPS\core\Messenger\Conversation), '<p>\n\tblahblah@b...', false, NULL, NULL, Object(IPS\Member), NULL, NULL, NULL, NULL) #3 /home/xxxxxxxxx/xxxxxxxxx.com/system/Content/Item.php(5040): IPS\core\Messenger\_Message::create(Object(IPS\core\Messenger\Conversation), '<p>\n\tblahblah@b...', false, NULL, NULL, Object(IPS\Member), NULL, NULL, NULL, NULL) #4 /home/xxxxxxxxx/xxxxxxxxx.com/system/Content/Item.php(4726): IPS\Content\_Item->processCommentForm(Array) #5 /home/xxxxxxxxx/xxxxxxxxx.com/system/Theme/Theme.php(885) : eval()'d code(430): IPS\Content\_Item->commentForm() #6 /home/xxxxxxxxx/xxxxxxxxx.com/system/Theme/SandboxedTemplate.php(61): IPS\Theme\class_core_front_messaging->conversation(Object(IPS\core\Messenger\Conversation), Array, NULL) #7 /home/xxxxxxxxx/xxxxxxxxx.com/applications/core/modules/front/messaging/messenger.php(447): IPS\Theme\_SandboxedTemplate->__call('conversation', Array) #8 /home/xxxxxxxxx/xxxxxxxxx.com/system/Dispatcher/Controller.php(118): IPS\core\modules\front\messaging\_messenger->manage() #9 /home/xxxxxxxxx/xxxxxxxxx.com/system/Content/Controller.php(50): IPS\Dispatcher\_Controller->execute() #10 /home/xxxxxxxxx/xxxxxxxxx.com/applications/core/modules/front/messaging/messenger.php(67): IPS\Content\_Controller->execute() #11 /home/xxxxxxxxx/xxxxxxxxx.com/system/Dispatcher/Dispatcher.php(153): IPS\core\modules\front\messaging\_messenger->execute() #12 /home/xxxxxxxxx/xxxxxxxxx.com/index.php(13): IPS\_Dispatcher->run() #13 {main}
Marc Posted November 28, 2022 Posted November 28, 2022 It's not something that is a default item, no. Glad to see you found what was causing you issues though. Are these showing in the mod CP?
Recommended Posts