Контактная форма email

ПРИМЕЧАНИЕ: Модуль email не установлен по умолчанию, поэтому перед использованием этих тегов убедитесь на странице модулей, что он установлен.

Этот тег предназначен для создания контактной формы на одной из ваших страниц, которую ваши пользователи могут использовать для отправки вам электронной почты. Для отображения контактной формы используется следующий парный тег:

{exp:email:contact_form}

{/exp:email:contact_form}

Контактная форма создается подобно стандартной веб форме, только не указываются открывающий и закрывающий теги формы; ExpressionEngine создает их автоматически. Существует несколько переменных, которые используются для автоматического заполнения полей в форме, и несколько параметров тега для обработки формы и скрытия получателей. Ниже приведен пример кода для создания контактной формы:

{exp:email:contact_form user_recipients="false" recipients="admin@example.com" charset="utf-8"}

<h2>Support Form</h2>

<p><label for="from">Your Email:</label><br />
<input type="text" id="from" name="from" size="40" maxlength="35" value="{member_email}" /></p>

<p><label for="subject">Subject:</label><br />
<input type="text" id="subject" name="subject" size="40" value="Contact Form" /></p>

<p><label for="message">Message:</label><br />
<textarea id="message" name="message" rows="18" cols="40">Support Email from: {member_name}
Sent at: {current_time format="%Y %m %d"}</textarea></p>

<p><input name="submit" type='submit' value='Submit Form' /></p>

{/exp:email:contact_form}

Параметры

charset=

charset="utf-8"

С помощью этого параметра вы можете установить необходимую кодировку символов для отправляемого сообщения электронной почты. Используйте этот параметр, если шаблон вашей формы использует кодировку символов, отличную от iso-8859-1.

recipients=

recipients="admin@example.com"

С помощью параметра recipients вы можете определить адреса получателя (или получателей) электронной почты. Если вы укажете более одного получателя, то отделяйте каждый адрес электронной почты запятыми:

recipients="admin@example.com,ceo@example.com,president@example.com"

Примечание: В случае, когда получатели указаны в этом параметре и стандартное поле "Кому" также заполнено, то получателям, определенным в этом параметре письма будут отправляться с использованием поля BCC (скрытая копия), для того, чтобы получатели, указанные в поле "Кому:", не видели этих "скрытых" получателей email.

redirect=

redirect="5"

После того, как форма отправлена, пользователю будут показано информационное сообщение об успешной отправке письма. В этом параметре вы можете указать, как долго ExpressionEngine должен отображать это сообщение. Значение этого параметра указывается в секундах. Например, если вы хотите отображать сообщение шесть секунд, вы должны использовать

redirect="6"

Также, вы можете указать ExpressionEngine, не переадресовывать пользователя после того, как он отправил сообщение. В этом случае, пользователь просто остается на странице сообщения. Чтобы реализовать это, установите значение параметра none:

redirect="none"

replyto=

replyto="y"

По умолчанию адрес отправителя электронной почты будет вставлен в письмо из заголовка формы. Если значение параметра установлено "y", то этот адрес электронной почты будет помещен в поле "Ответ:", а адрес веб мастера сайта будет вставлен в поле "От:" заголовка. Иногда это бывает необходимо, так как некоторые почтовые серверы не будут отправлять электронную почту с адресом не своего домена, таким образом, ExpressionEngine будет использовать адрес электронной почты веб мастера сайта, чтобы обойти это ограничение, в тоже время, гарантируя, что любой ответ будет отправлен на нужный адрес.

return=

return="http://www.example.com/index.php"

Этот параметр определяет URL, куда будет направлен пользователь после отправки формы. После отправки сообщения пользователю отображается стандартное сообщение "спасибо" и ссылку. Параметр return устанавливает направление ссылки и ее название. Если этот параметр не используется, то ссылка будет указывать на страницу, с которой они пришли на форму email, а текстом для ссылки будет название вашего сайта.

URL возврата и текст ссылки должны разделяться символом ("|"). Если вы указываете только вторую часть (текст ссылки), то перед ней должен стоять символ ("|"). Примеры допустимых способов указания параметра:

return="http://www.example.com/index.php" return="http://www.example.com/index.php|Home Page" return="|Return to the Site"

user_recipients=

user_recipients="true" user_recipients="false"

Параметр user_recipients определяет, будет или нет форма, брать получателя из поля "Кому:", которое заполняется пользователем. Если установлено true, то вы можете создать в форме дополнительное поле "Кому:", где пользователь может вводить адреса получателей электронной почты.

Переменные

author_email

{author_email}

Если вы создаете постоянную ссылку на страницу, содержащую тег {exp:email:contact_form}, то в форме можно использовать эту переменную для того, чтобы вставить адрес электронной почты автора статьи. Эта возможность позволяет создать страницу "связаться с автором".

author_name

{author_name}

Если вы создаете постоянную ссылку на страницу, содержащую тег {exp:email:contact_form}, то в форме можно использовать эту переменную для того, чтобы вставить имя автора написавшего связанную статью. Эта возможность позволяет создать страницу "связаться с автором".

member_email

{member_email}

Если пользователь авторизован, то эта переменная возвратит адрес его электронной почты как указано в его профиле.

member_name

{member_name}

Если пользователь авторизован, то эта переменная возвратит его имя (screen name), как указано в его профиле.

Поля формы

captcha

<input type="text" name="captcha" value="" maxlength="20" />

Поле CAPTCHA для формы. Оно обычно используется с условным выражением, для того чтобы его можно было выводить в случае необходимости:

{if captcha}

<p>Please enter the word you see in the image below:</p>

<p>{captcha}<br />
<input type="text" name="captcha" value="" maxlength="20" /></p>

{/if}

Настройка для отключения и включения CAPTCHA в контактной форме находиться в секции настройки электронной почты панели управления.

from

<input type="text" name="from" size="40" />

Адрес электронной почты отправителя email. Вы обязательно должны включать это поле формы, даже если оно скрытое.

message

<textarea name="message" rows="10" cols="40"></textarea>

Текст сообщения электронной почты. Вы обязательно должны включать это поле формы, даже если оно скрытое.

Вы можете определить несколько полей, создавая атрибут name=, как массив, используя "message[]". Например:

Home Phone: <input type="text" name="message[]" size="12" maxlength="15" /><br />
<br />
Cell Phone: <input type="text" name="message[]" size="12" maxlength="15" />

name

<input type="text" name="name" size="40" />

Имя отправителя электронной почты.

required

<textarea name="required" rows="5" cols="40" readonly="readonly"></textarea>

Создается поле, обязательное для заполнения информацией, которая будет включаться в каждое письмо. Эта функция полезна для электронных писем поддержки, в которых содержится скрытая информация или информация только для чтения.

Вы можете определить несколько полей, создавая атрибут name=, как массив, используя "required[]". Например:

Age: <input type="text" name="required[]" size="3" maxlength="3" /><br />
<br />
Bio: <textarea name="required[]" rows="5" cols="40"></textarea>

subject

<input type="text" name="subject" size="40" />

Тема отправляемого электронного письма. Вы обязательно должны включать это поле формы, даже если оно скрытое.

to

<input type="text" name="to" size="40" />

Адрес электронной почты получателя. Можно указать несколько адресов, разделяя их запятой. Вы обязательно должны включать это поле формы, даже если оно скрытое. Это поле, также может быть определено, с помощью параметра тега recipients=.

ПРЕДУПРЕЖДЕНИЕ: Если вы оставите это поле открытым, для заполнения пользователями, то вы потенциально даете спамерам легкий способ отправки анонимных электронных писем. Если вы разрешили пользователям доступ к этому полю, то рассмотрите возможность использования поля <select>, чтобы ограничить список адресов указанными вариантами. Желательно включить CAPTCHA, для предотвращения автоматизированных рассылок.

Наверх страницы