Линия:
$header .= 'Content-type: multipart/alternative;boundary=$boundary '."\n";
Имеет неправильные кавычки, поэтому $boundary
не будет расширяться. Изменить на:
$header .= "Content-type: multipart/alternative;boundary=$boundary\n";
И, как я уже сказал в комментариях, в заголовках сообщений и заголовках секции содержимого вы должны использовать \r\n
в качестве разрыва строки, так как это то, что определено в RFC. Большинство MTA разрешают просто \n
, но некоторые будут задыхаться от сообщения, а некоторые спам-фильтры будут считать каждое нарушение RFC в качестве точки к вашему счету спама.
Используя что-то вроде PHPMailer - намного лучший вариант, поскольку он полностью форматирует все по умолчанию и соблюдает почти каждый неясный, скучный RFC.
Вы можете ссылаться только на ресурсы Azure, используя функцию reference()
, а не на объекты Azure AD. это невозможно. Вы должны сделать это вне шаблона и передать отображаемое имя в шаблон.