Linux-BG
Начало
Помощ
Търси
Календар
Вход
Регистрирай
Добре дошъл/дошла,
Гост
. Моля,
въведи своето потребителско име
или
се регистрирай
.
Влез с потребителско име, парола и продължителност на сесията
Linux за българи: Форуми
>
Програмиране
>
Web development
(Модератор:
VladSun
) >
PHP
Страници: [
1
]
Надолу
« назад
напред »
Изпечатай
Автор
Тема: PHP (Прочетена 2706 пъти)
Йордан
Напреднали
Публикации: 1451
Distribution: Ubuntu / Gentoo
Window Manager: Gnome
не е важно колко ти е голяма пишката, а какво можеш с нея
PHP
«
-:
Apr 11, 2004, 20:01 »
Zdraweite
imam edin wapros s pomo6ta na mail()
4rez nego se izpra6tat maili na potrebiteli samo na sa6tiq sarwar
nqkoi moje li da mi kaje kakwo da polzwam za da moga da pra6tam na drugi sarwari
ili trqbwa da se wazpolzwam ot wazmojnostite na IMAP
a i iskam da popitam nqkoi ima li info za t.n. dinami4no konfigorirane na PHP interpretatora
Активен
Всеки пост - отговор на въпрос !!!
Йордан Георгиев
http://ygeorgiev.net/
Гост
PHP
«
Отговор #1 -:
Apr 11, 2004, 23:05 »
ne e verno
'> kak 6te se pra6tam samo na sa6tiq server
pak za dinami4no confane si ima edni funkcii deto gleda6 koe e ON koe OFF i si gi zadava6 dopalnitelno primerno
'>
Активен
Йордан
Напреднали
Публикации: 1451
Distribution: Ubuntu / Gentoo
Window Manager: Gnome
не е важно колко ти е голяма пишката, а какво можеш с нея
PHP
«
Отговор #2 -:
Apr 12, 2004, 10:40 »
ami kato pra6tam kam abv.bg ne pristigat mail'lowete
da de gledam gi s phpinfo()
ama neznam kak da gi smenqm
'>
Активен
Всеки пост - отговор на въпрос !!!
Йордан Георгиев
http://ygeorgiev.net/
sunhater
Напреднали
Публикации: 329
PHP
«
Отговор #3 -:
Apr 12, 2004, 21:01 »
Можеш да пращаш през някой SMTP сървър както при email клиентите. Ето ти разработен клас за създаване и пращане през SMTP email:
Примерен код
class smtp_mail {
var $fp = false;
var $lastmsg = "";
var $smtp_server;
var $from;
var $to;
var $subject;
var $body;
function smtp_mail($smtp_server = "", $from = "", $to = "", $subject = "", $body = "") {
$this->smtp_server = $smtp_server;
$this->from = $from;
$this->to = $to;
$this->subject = $subject;
$this->body = $body;
}
function add_body($body) {
return "Content-Type: text/plain; charset=\"Windows-1251\"\nContent-Transfer-Encoding: 7bit\n\n$body\n";
}
function get_mail() {
$mime = "";
if (!empty($this->from)) $mime .= "From: " . $this->from . "\n";
if (!empty($this->to)) $mime .= "To: " . $this->to . "\n";
if (!empty($this->subject)) $mime .= "Subject: " . $this->subject . "\n";
if (!empty($this->body)) $mime .= $this->add_body($this->body);
return $mime;
}
function read_line() {
$ret = false;
$line = fgets($this->fp, 1024);
if (ereg("^([0-9]+).(.*)$", $line, &$data)) {
$recv_code = $data[1];
$recv_msg = $data[2];
$ret = array($recv_code, $recv_msg);
}
return $ret;
}
function dialogue($code, $cmd) {
$ret = true;
fwrite($this->fp, $cmd . "\r\n");
$line = $this->read_line($this->fp);
if ($line == false) {
$ret = false;
$this->lastmsg = "";
} else {
$this->lastmsg = "$line[0] $line[1]";
if ($line[0] != $code) $ret = false;
}
return $ret;
}
function error_message() {
echo "SMTP protocol failure (" . $this->lastmsg . ").<BR>";
}
function crlf_encode($data) {
$data .= "\n";
$data = str_replace("\n", "\r\n", str_replace("\r", "", $data));
$data = str_replace("\n.\r\n", "\n. \r\n", $data);
return $data;
}
function handle_email($from, $to, $data) {
global $SERVER_NAME;
$rcpts = explode(",", $to);
$err = false;
if (!$this->dialogue(250, "HELO $SERVER_NAME") ||
!$this->dialogue(250, "MAIL FROM: $from")) $err = true;
for ($i = 0; !$err && $i < count($rcpts); $i++)
if (!$this->dialogue(250, "RCPT TO: $rcpts[$i]"))
$err = true;
if ($err ||
!$this->dialogue(354, "DATA") ||
!fwrite($this->fp, $data) ||
!$this->dialogue(250, ".") ||
!$this->dialogue(221, "QUIT")) $ret = true;
if ($err) $this->error_message();
return !$err;
}
function connect($hostname) {
$ret = false;
$this->fp = fsockopen($hostname, 25);
if ($this->fp) $ret = true;
return $ret;
}
function send_email() {
if (!$this->connect($this->smtp_server)) return false;
$line = $this->read_line();
$ret = false;
if ($line && $line[0] == "220") {
$data = $this->crlf_encode($this->get_mail());
$ret = $this->handle_email($this->from, $this->to, $data);
} else $this->error_message();
fclose($this->fp);
return $ret;
}
}
За да създадеш и пратиш email:
Примерен код
$mail = new smtp_mail(<SMTP_Server>, <Email_FROM>, <Email_TO>, <Subject>, <Message>);
if (!($mail->send_email())) {
// Ако има грешка при пращането:
echo "Error sending mail!";
}
Активен
Йордан
Напреднали
Публикации: 1451
Distribution: Ubuntu / Gentoo
Window Manager: Gnome
не е важно колко ти е голяма пишката, а какво можеш с нея
PHP
«
Отговор #4 -:
Apr 13, 2004, 15:23 »
mersi mnogo
nadqwam se towa da mi swar6i rabota
'>
Активен
Всеки пост - отговор на въпрос !!!
Йордан Георгиев
http://ygeorgiev.net/
Страници: [
1
]
Нагоре
Изпечатай
« назад
напред »