Форум программиста.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Форум программиста. » PHP функкции » Функции электронной почты


Функции электронной почты

Сообщений 1 страница 2 из 2

1

Mail-Функция отправки сообщения

mail

(PHP 3, PHP 4, PHP 5)

mail - отправляет почту.
Описание

bool mail (string to, string subject, string message [, string additional_headers [, string additional_parameters]])

mail() автоматически отправляет сообщение message получателю to. Можно специфицировать несколько получателей, разделив запятой адреса в to. С помощью этой функции можно высылать Email с присоединением/attachment и содержимое специальных типов. Это делается через MIME-кодировку - см. дополнительно эту статью о Zend или PEAR Mime Classes.

Могут помочь и следующие RFC-документы: RFC 1896, RFC 2045, RFC 2046, RFC 2047, RFC 2048 и RFC 2049.

mail() возвращает TRUE, если почта была успешно принята для доставки, FALSE в ином случае.

Важно! Обратите внимание, успешно принято для доставки не подразумевает, что почта фактически достигнет предназначенного назначения

Код:
Предупреждение!

Windows-реализация mail() во многом отличается от Unix-реализации. Во-первых, она не использует локальный экзешник для составления сообщений, а работает лишь по прямым сокетам, что означает, что MTA должен прослушивать сетевой сокет (который может находиться на локальной или удалённой машине). Во-вторых, специальные шапки/headers вроде From:, Cc:, Bcc: и Date: не интерпретируются MTA, а разбираются в PHP.
PHP < 4.3 поддерживал только header-элемент Cc: (и был чувствительным к регистру).
PHP >= 4.3 поддерживает все элементы шапки и нечувствителен к регистру символов.

Пример 1. Отправка почты.

Код:
mail("joecool@example.com", "My Subject", "Line 1\nLine 2\nLine 3");

Если передаётся четвёртый строковой аргумент, эта строка вставляется в конце шапки/header. Обычно это используют для добавления дополнительных шапок. Несколько дополнительных шапок разделяются символами carriage return и newline.

Примечание: вы обязаны использовать \r\n для разделения шапок, хотя некоторые почтовые агенты Unix могут работать с одиночными символами newline (\n).
Пример 2. отправка почты с дополнительными шапками/header.

Код:
mail("nobody@example.com", "the subject", $message,
 "From: webmaster@$SERVER_NAME\r\n"
."Reply-To: webmaster@$SERVER_NAME\r\n"
."X-Mailer: PHP/" . phpversion());

Параметр additional_parameters можно использовать для передачи дополнительных параметров программе, сконфигурированной для использования при отправке почты установкой конфигурации sendmail_path. Например, это можно применять для установки адреса отправителя при использовании sendmail. Вам может понадобиться добавить пользователя под которым работает ваш web-сервер, в вашу sendmail-конфигурацию для предотвращения добавления шапки 'X-Warning!' к сообщению, когда вы устанавливаете отправителя с использованием этого метода.
Пример 3. Отправка почты с дополнительными шапками/headers и установка дополнительного параметра командной строки.

Код:
mail("nobody@example.com", "the subject", $message,
 "From: webmaster@$SERVER_NAME", "-fwebmaster@$SERVER_NAME");

Примечание: этот пятый параметр был введён в PHP 4.0.5.

Вы можете также использовать простую технику построения строк для создания сложных email-сообщений.
Пример 4. Отправка сложной email.

Код:
/* получатели */
$to= "Mary <mary@example.com>" . ", " ; //обратите внимание на запятую
$to .= "Kelly <kelly@example.com>";

/* тема/subject */
$subject = "Birthday Reminders for August";

/* сообщение */
$message = '
<html>
<head>
 <title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
 <tr>
<th>Person</th><th>Day</th><th>Month</th><th>Year</th>
 </tr>
 <tr>
<td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
 </tr>
 <tr>
<td>Sally</td><td>17th</td><td>August</td><td>1973</td>
 </tr>
</table>
</body>
</html>
';

/* Для отправки HTML-почты вы можете установить шапку Content-type. */
$headers= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* дополнительные шапки */
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";

/* и теперь отправим из */
mail($to, $subject, $message, $headers);

Примечание: убедитесь, что у вас нет символов newline в to или в subject, иначе почта может не отправиться корректно.

0

2

ezmlm_hash
(PHP 3>= 3.0.17, PHP 4 >= 4.0.2)

ezmlm_hash - вычисляет значение хэша, нужное для EZMLM.
Описание

int ezmlm_hash ( string addr)

ezmlm_hash() вычисляет значение хэша, необходимое при сохранении почтовых списков рассылки EZMLM в БД MySQL.
Пример 1. Расчёт хэша и подписка пользователя

Код:
$user = "joecool@example.com";
$hash = ezmlm_hash ($user);
$query = sprintf ("INSERT INTO sample VALUES (%s, '%s')", $hash, $user);
$db->query($query); // использование интерфейса PHPLIB db

0


Вы здесь » Форум программиста. » PHP функкции » Функции электронной почты