Civimail Urls don't load and show Could not load the settings file at:
You'll see from civicrm_conf_init() that CiviCRM assumes the site's settings.php and civicrm.settings.php have a specific (relative) location to the CiviCRM codebase. When CiviCRM is installed in a profiles folder, this isn't the case, so config discovery fails.

I believe this could be addressed fairly easily (eg via available Drupal functions like conf_path() for the config directory and drupal_get_path() for the module path), and it would probably make CiviCRM a better "Drupal" citizen if that was the case.

AFAIK the reason CiviCRM doesn't use functions provided by the host CMS when initialising site config is just to handle a few remaining locations where CiviCRM scripts are called directly, without being initialised via the CMS itself.

These are scripts like extern/ipn.php (for which civicrm/payment/ipn/%processor_id would be preferable: CRM-9779), and other files in that extern directory.

While a patch to support locating CiviCRM in the profiles directory alone could be contributed, I'd encourage working towards eliminating remaining scripts in those deprecated locations. Then CiviCRM doesn't have to duplicate the logic of each CMS's config discovery (amongst other benefits), and it'll "play nicer" in that CMS ecosystem.

Some background:


Forum: Remove CiviCRM entry points except via CMS frontend
CRM-11212: Drupal does not bootstrap from extern/rest.php
CRM-9779: Common payment notification framework for payment processor extensions