2010-07-30 4 views
0

Я знаю, что можно отправлять html-сообщения. Можно ли также отправлять электронные письма с поддержкой PHP?Использование PHP для форматирования электронной почты?

Для этого сосчитать:

  • код PHP должен быть отправлено в виде простого текста
  • код PHP должен быть выполнен на каком-то сервере X только после того, как получатель открывает электронную почту
  • сервер X не является машина получателя

Если это возможно, каковы последующие проблемы безопасности, которые возникают из-за этого?

ответ

2

Вы в основном пытаются заставить клиента удаленного электронной почты для отображения HTML-страницы удаленного (сгенерированный PHP). Никакие клиенты этого не сделают, потому что это большой риск для безопасности.

Вы можете использовать AJAX, но все современные почтовые клиенты будут полностью блокировать любой Javascript в письмах по умолчанию.

Вы также можете запросить удаленные изображения. Вы можете генерировать их на лету (обрабатывать расширение jpg с помощью PHP и генерировать изображение «на лету»), но это, скорее всего, приведет к удалению ваших писем как спама с помощью любого спам-фильтра. Большинство почтовых клиентов по умолчанию блокируют удаленные изображения, но обычно они показывают кнопку, чтобы разблокировать их (это не происходит для скриптов javascript).

0

Это не может быть сделано так, как я думаю вы думаете. Вы не можете отправить PHP-код и ожидать, что он будет интерпретироваться почтовым клиентом.

Однако вы можете ссылаться на изображение на своем сервере в электронном письме HTML. И этот образ может быть PHP-скриптом, который работает на на вашем сервере. Но большинство почтовых клиентов по умолчанию не отображают изображения по умолчанию.

+0

он не пытается выполнить код php, выполняемый клиентом, а удаленным сервером – Palantir

+0

@Palantir - ну, вот чего я ожидал бы, но почему он заявляет: «отправлять письма с поддержкой PHP» и «php код должен быть отправлен как обычный текст "? – MrWhite

1

Я думаю, что ваш лучший выбор - отправить HTML с помощью iFrame, или вы можете попробовать вызов Ajax, чтобы получить HTML-код, который вы хотите ввести (используя javascript). Я не думаю, что вы можете просто отправить PHP-код, встроенный в HTML.

Проверить пример # 4 http://php.net/manual/en/function.mail.php

Смежные вопросы