Jump to content

PM (DM) containing an email address, message is unsent.


Recommended Posts

  • 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 by sibomots
Link to comment
Share on other sites

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 (?)

 

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

 

Link to comment
Share on other sites

  • 2 weeks later...

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}

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...