Cannot send mail from personal mailbox after upgrade to 7.10.9

Hi,
I’ve recently upgraded to 7.10.9 from 7.8 and I cannot send mail because the from address seems to be blank. i.e. the MAIL FROM: seems to be empty. Here is the smtp log that got


3: Connection: opening to ssl://smtp.yandex.com:465, timeout=300, options=array (
)
3: Connection: opened
2: SERVER -> CLIENT: 220 smtp4o.mail.yandex.net ESMTP (Want to use Yandex.Mail for your domain? Visit http://pdd.yandex.ru)

1: CLIENT -> SERVER: EHLO xxxxxxxxxxx.com

2: SERVER -> CLIENT: 250-smtp4o.mail.yandex.net
250-8BITMIME
250-PIPELINING
250-SIZE 42991616
250-AUTH LOGIN PLAIN XOAUTH2
250-DSN
250 ENHANCEDSTATUSCODES

1: CLIENT -> SERVER: AUTH LOGIN

2: SERVER -> CLIENT: 334 VXNlcm5hbWU6

1: CLIENT -> SERVER: ---obfuscated---
2: SERVER -> CLIENT: 334 UGFzc3dvcmQ6

1: CLIENT -> SERVER: ---obfuscated---
2: SERVER -> CLIENT: 235 2.7.0 Authentication successful.

1: CLIENT -> SERVER: MAIL FROM:

2: SERVER -> CLIENT: 553 5.7.1 Sender address rejected: not owned by auth user.

1: SMTP ERROR: MAIL FROM command failed: 553 5.7.1 Sender address rejected: not owned by auth user.

3: The following From address failed: xxxxxxxxxxx@gmail.com : MAIL FROM command failed,Sender address rejected: not owned by auth user.
,553,5.7.1SMTP server error: MAIL FROM command failed Detail: Sender address rejected: not owned by auth user.
 SMTP code: 553 Additional SMTP info: 5.7.1

I’d really appreciate if someone can point me where to start looking

Thanks

From which screen and from which type of account are you trying to send?

Does the From name appear correctly on screen?

Thanks for the quick reply @pgr

I’m sending from Profile > Settings > Mail accounts > Outgoing SMTP Mail Servers
I’m assuming the type is personal

“From” Name:* John Mathew
“From” Address:* jm@xxxxxxxxxxx.com

Yes, the From name appears correctly. Here is what I did not expect: when I enter the same address for the test notification, the mail gets sent! So I’m assuming this is by design, that the recipient address of the test mail has to be the same as the sender?

Now I can not seem to see this particular mail server in the Compose window dropdown. I get 2 servers with the same name! When I opened this mail at the recipient, i see this was not sent by the personal account<- I guess I should open another topic to discuss this new issue

Thanks!

No, you can send from any email, to any recipient. Only your server requires the Form name to match the account (so you don’t spoof emails).

What probably is happening is that the bug blanking out the From only affects the address under some specific circumstances, I don’t know.

You can add some more logging to try and get to the bottom of this. Uncomment this line:

https://github.com/salesagility/SuiteCRM/blob/master/include/SugarPHPMailer.php#L457

Now re-run your tests. You can also use one of the overrides in the lines above to see if it makes a difference.

got the error!
The from is filled with the recipient address! So $this->From shows the recipient

Now I got to find where $this->From is set

I tried the overrides mentioned above, but did not work.
The debug output does show the override has worked (i.e. the correct From value) however I get the same error, i.e. the recipient is in the From address. How is this possible? So it looks like the From is getting reset somewhere later in the execution…

Those overrides are right before the email is sent. If the SMTP debug output shows the dialog with the server, and the values are correct, then the mail is sent that way.

Maybe it’s the way SuiteCRM saves the email that is wrong, or the way it is displayed on screen after sending?

@pgr: thanks for taking the time to work with me on this
you are right about the overrides being the last to be set. Yes, I did manage to send the test email but only when I set both $this->From and $this->Sender
If either of this is missing or not set then the mail server does not authenticate. The funny part is :
$this->From defaults to the recipent address
and $this->Sender defaults to blank
Any ideas where to set both $this->From and $this->Sender ?

Can you set up XDEBUG and step through the code with an IDE, and check where these values are being set? That might be the only way to really get to the bottom of this…

ok will definitely try! never used xdebug before.

I’m seeing another error for port numbers. I’m using port 2525 on the smtp server. On the error logs is shows as

connecting to xxxxx.com:2,525

the thousand’s separator is used to call the port!!!

I’m curious to know whether this can be tested on the demo server of suitecrm? Maybe its the upgrade patches that have the issue

ok the issue is partially present on demo server too


From: reply-to: and to: have the same recipient address!

Remember that sometimes these bugs can be just display bugs (like the thousands separator on the log).

If you can get into the code and see what’s happening, that’s the proper way to solve this.