Change url in default emails

Hi guys,
I have a particular situation due to the installation that was chosen.

In particular, I have SuiteCRM accessible from intranet with real url (ip_address:port/subfolder/ …) but from outside, this address is masked and SuiteCRM is accessible from crm.mydomain.com/subfolder/
(Basically it always takes the link with the ip address but without port and without subfolder).

So it happens that, in neither case, the default link in the emails (for assigning of an item, to accept a metting, etc.) doesn’t work.

So, I would like to intercept where the base of this link is created to manage it from code. But where should I look?

I hope someone can give me some useful suggestions.

Thank you all.

In config.php, you have

host_name
site_url

Then you have the email templates file, for the default language it is this

https://github.com/salesagility/SuiteCRM/blob/master/include/language/en_us.notify_template.html

Yes, thank you.
However, I need something more sophisticated but I don’t know if it’s possible.

Given that site_url works well and cannot be changed but we have, as I said above, two different URLs for accessing CRM from intranet and from outside the company, I should make something like this in every alert mail:

If you’re connecting from the outside
click here (with url that starts with crm.mydomain.com/subfolder/ …)

If you are on the intranet
click here (with url that starts with ip_address:port/subfolder/ …)

Calls and Meetings URLs are created in their Respective Beans.
You can check the files modules/Calls/Call.php and modules/Meetings/Meeting.php for the Function

 set_notification_body 

it sets the value for the Variable ACCEPT_URL used in Notify template
https://github.com/salesagility/SuiteCRM/blob/master/include/language/en_us.notify_template.html

ok, thanks for the suggestion.

I’m doing a test only with the calls module.

In call.php, where ACCEPT_URL is passed, I deleted “$ sugar_config [‘site_url’].”
leaving only “’/index.php?entryPoint=acceptDecline&module=Calls&contact_id=’.$call->current_notify_user->id.’&record=’.$call->id”

In include> language> en_us.notify_template

I entered both options

if you’re connecting from outside:

crm.mydomain.com/subfolder(ACCEPT_URL} & accept_status = accept

if you’re connect from intranet:

p_address:port/subfolder(ACCEPT_URL} & accept_status = accept

and everything works as I want.

But if I put my call.php in custom > module it is not read, sign that when I save and send the invitations, it is called from other files (and the original file is taken).

Is there a way to find where it appears?

Thanks again for your suggestion, it was invaluable.
Thanks a lot,