Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Приложение аттача к письму через mail()
ТвойWeb » WebMaster класс » PHP/Perl » Приложение аттача к письму через mail()

Страниц (3): [1] 2 3 »
 

1. Systemnik - 14 Февраля, 2008 - 05:54:29 - перейти к сообщению
Как это осуществить?? Пожалуйста помогите вот с этим скриптом...
я его сейчас основной код админки приложу..
именно из нее и отсылаются сообщения мне надо модифицировать так что бы мжно было крепить аттач...

CODE:

<?php
<form action=?deystvo=subsider method=post>
<input type=hidden name=login value=$login>
<input type=hidden name=password value=$password>
<b>От Кого:</b><br>
<input type=text value=$from name=from size=29>
<br>
<b>Тема:</b><br>
<input type=text value=Рассылка name=theame size=29>
<br>
<b>Письмо:</b><br>
<textarea name=text cols=100 rows=14 style='width: 70%'></textarea><br>
<input type=submit value=Разослать>
</form>
case("subsider") :

$xfile = @file("topsecret.txt");
for ($i=0;$i<count($xfile);$i++) {
$udata = explode("::",$xfile[$i]);

@mail("$udata[0]", "$theame", $text, "From:$from");

print "<font color=green>$i)</font> $udata[0] - <font color=red>Ок!</font><br> ";
}

break;
?>



Сразу говорю код обрезан..
до нужной фонкции
Ток сразу говою если понадобится полностью дистбутив не качайте с сайта!!
У меня версия постарее просто новая кривая.. Улыбка
2. Furax - 14 Февраля, 2008 - 07:34:29 - перейти к сообщению
Systemnik
Через mail() не так-то просто отправить файлы. Нужно химичить с телом письма, с MIME-типами... Оно тебе надо? Лучше воспользуйся какой-нибудь библиотекой, например, PHPMailerом - инструкции в архиве, осваивается за пять минут.
3. Systemnik - 14 Февраля, 2008 - 08:43:10 - перейти к сообщению
А я и не против юзать этот пхп майлер.. тока вот.. немогли бы вы мне показать как его
интегрануть в этот скрипт рассылки.. Подмигивание
4. Furax - 15 Февраля, 2008 - 00:00:47 - перейти к сообщению
Вот на этом примере из ReadMe, на мой взгляд, всё хорошо видно:

CODE:
require("class.phpmailer.php");

$mail = new PHPMailer();

$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "smtp1.example.com;smtp2.example.com"; // specify main and backup server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "jswan"; // SMTP username
$mail->Password = "secret"; // SMTP password

$mail->From = "from@example.com";
$mail->FromName = "Mailer";
$mail->AddAddress("josh@example.net", "Josh Adams");
$mail->AddAddress("ellen@example.com"); // name is optional
$mail->AddReplyTo("info@example.com", "Information");

$mail->WordWrap = 50; // set word wrap to 50 characters
$mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
$mail->IsHTML(true); // set email format to HTML

$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML message body <b>in bold!</b>";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

echo "Message has been sent";
5. Systemnik - 15 Февраля, 2008 - 06:07:21 - перейти к сообщению
Блин обясните какую кодироваку выставить что ы письмо читальнось нормально??


не могу прикрепить аттачи.. приходит письмо тока аттача нет вот код

CODE:
$xfile = @file("topsecret.txt");
for ($i=0;$i<count($xfile);$i++) {
$udata = explode("::",$xfile[$i]);


$mail = new PHPMailer();
$mail->From = "$from";
$mail->AddAddress("$udata[0]");
$mail->IsHTML(false);
$mail->Subject = "$theame";
$mail->AltBody = "$text";
$mail->Body = "$text";
$mail->AddAttachment("$attach");

if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

print "<font color=green>$i)</font> $udata[0] - <font color=red>Ок!</font><br> ";
}

break;

<form action=?deystvo=subsider method=post>
<input type=hidden name=login value=$login>
<input type=hidden name=password value=$password>
<b>От Кого:</b><br>
<input type=text value=$from name=from size=29>
<br>
<b>Тема:</b><br>
<input type=text value=Рассылка name=theame size=29>
<br>
<br>
<input type=file name=attach size=29>
<br>
<b>Письмо:</b><br>
<textarea name=text cols=100 rows=14 style='width: 70%'></textarea><br>
<input type=submit value=Разослать>
</form>


Может я чтото не правильно делаю с формой??
6. Furax - 15 Февраля, 2008 - 07:19:27 - перейти к сообщению
Systemnik
CODE:
$mail->CharSet="windows-1251"; //Или utf-8
7. Systemnik - 15 Февраля, 2008 - 07:26:34 - перейти к сообщению
Furax пишет:
$mail->CharSet="windows-1251";

Спасибо помогло!

не могу прикрепить аттачи.. приходит письмо тока аттача нет вот код

CODE:
$xfile = @file("topsecret.txt");
for ($i=0;$i<count($xfile);$i++) {
$udata = explode("::",$xfile[$i]);


$mail = new PHPMailer();
$mail->From = "$from";
$mail->AddAddress("$udata[0]");
$mail->IsHTML(false);
$mail->Subject = "$theame";
$mail->AltBody = "$text";
$mail->Body = "$text";
$mail->AddAttachment("$attach");

if(!$mail->Send())
{
echo "Message could not be sent. <p>";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

print "<font color=green>$i)</font> $udata[0] - <font color=red>Ок!</font><br> ";
}

break;

<form action=?deystvo=subsider method=post>
<input type=hidden name=login value=$login>
<input type=hidden name=password value=$password>
<b>От Кого:</b><br>
<input type=text value=$from name=from size=29>
<br>
<b>Тема:</b><br>
<input type=text value=Рассылка name=theame size=29>
<br>
<br>
<input type=file name=attach size=29>
<br>
<b>Письмо:</b><br>
<textarea name=text cols=100 rows=14 style='width: 70%'></textarea><br>
<input type=submit value=Разослать>
</form>


Может я чтото не правильно делаю с формой??
8. Furax - 15 Февраля, 2008 - 08:13:07 - перейти к сообщению
Systemnik
Конечно неправильно! Почему $attach? Надо указать имя файла ($_FILES['attach']['tmp_name']). Если не получится, попробуй сначала сделать move_uploaded_file в безопасное место, потом отправку уже перемещённого файла. Только удалять после отправки не забывай, в том числе после неудачной...

И ещё, не понял юмора вот здесь:
CODE:
$mail->AltBody = "$text";
Кавычки-то зачем?

И ещё: если отправляешь обычное текстовое письмо, не стоит прописывать altBody.
9. Systemnik - 15 Февраля, 2008 - 09:58:05 - перейти к сообщению
Ух.. как же вы не поймете.. я пока пхп не учу... я не могу понять что вы написали.. исправьте пожалуййста ыложеный код.. я не понял куда где ошибка ..
и пожалуйста исправьте все ошибки с кавычками итд.. я на примере лутше пойму...

Цитата:
И ещё: если отправляешь обычное текстовое письмо, не стоит прописывать altBody.

Если я его убираю письмо не приходит!

У меня почему то тело письма в нормальной кодировке а заголовок рЕЯРХПНБЮМХЕ23
Слёзы в глазах
10. Furax - 15 Февраля, 2008 - 10:31:35 - перейти к сообщению
Systemnik пишет:
я пока пхп не учу...

Ну а зачем тогда пытаешься на нём писать? Ведь всё равно всё потом придётся переделывать! Я всё понимаю, молодость, отсутствие опыта... Но почему нельзя пока взять что-то готовенькое? Ты пока не можешь найти времени для изучения языка, но при этом считаешь, что у всех остальных есть время разбираться с твоими проблемами, вызванными исключительно незнанием языка. Извини, но вырвалось.

Systemnik пишет:
исправьте пожалуййста ыложеный код
Попробуй вот так:
CODE:
$mail->AddAttachment($_FILES['attach']['tmp_name']);

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0438]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33