We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

phpMailer howto


Tom
15-02-2009, 19:19
Proszę o pomoc! Korzystam z hostingu 60free. Od kilku dni próbuję zainstalować phpmailier, przeczytałem wszystkie instrukcje i zastosowałem się do nich, jednak ciągle wywala mi błąd:

There has been a mail error
B³šd SMTP: Nie mo¿na po³šczyÌ siê z wybranym hostem.
mail sent

Mój kod testowy zmodyfikowany ze strony ovh wygląda następująco:

require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir = "phpmailer/";
$mail->From = "moje@wp.pl"; //adres naszego konta
$mail->FromName = "phpMailer tester";//nagłówek From
$mail->Host = "smtp.wp.pl";//adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "moje";//nazwa użytkownika
$mail->Password = "moje";//nasze hasło do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("pl", "phpmailer/language/");

$mail->Subject = "Mail testowy";//temat maila

// w zmienną $text_body wpisujemy treść maila
$text_body = "Cześć, chyba phpMailer działa \n\n";
$text_body .= "Na zawsze Twój, \n";
$text_body .= "PHPMailer";

$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("moje@gmail.com","Jurek");
$mail->AddAddress("franek@gdziestam.pl","Franek");

if(!$mail->Send())
echo "There has been a mail error
";
echo $mail->ErrorInfo."
";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "mail sent
";

?>

Bardzo proszę o wskazówkę co należy zmienić, aby mail został pomyślnie wysłany. Już tracę nadzieję, że to w ogóle możliwe ;(

kkafara
01-06-2008, 19:59
Cytat Napisał Frano
Ja zrobiłem w taki sposób:
(napiszę to tak że wystarczy Ci wkleić to w odpowiednie pliki)

Plik nr.1 - np. kontakt.html (ew. kontakt.php i całość przez echo "..." ; ale wtedy zmień każde wewnętrzne " na ')
Kod HTML:
"wyslij.php" METHOD="GET" ENCTYPE="text/plain"> "0">

"submit" VALUE="Wyślij">"reset" VALUE="Wyczyść">Plik nr.2 - wyslij.php
Kod PHP:
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir "phpmailer/";
$mail->From "NASZE@KONTO"//adres naszego konta
$mail->FromName "Uzytkownik mojej strony";//nagłówek From
$mail->Host "NASZ.SERWER.SMTP";//adres serwera SMTP
$mail->Mailer "smtp";
$mail->Username "tester@KONTO";//nazwa użytkownika
$mail->Password "HASLO";//nasze hasło do konta SMTP
$mail->SMTPAuth true;
$mail->SetLanguage("en""phpmailer/language/");

$mail->Subject "Formularz kontaktowy ze strony bleble";//temat maila

// w zmienną $text_body wpisujemy treść maila
// treści wpisane w formularzu
$text_body $_GET['nick'];
$text_body .= $_GET['email'];
$text_body .= $_GET['tresc'];

$mail->Body $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("twój@adres.email.pl","Kai");

if(!
$mail->Send())
echo 
"Wystąpił błąd, mail nie został wysłany" <br>";
echo 
$mail->ErrorInfo."<br>";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "
Dziękujemy za komentarz <br>";

?>
Chyba dobrze napisałem...wiecie jest 3 w nocy
Niestety jest tu jeden problem, całość zostaje wysłana w jednej linijce i za Chiny nie wiem jak to poprawić

Jeśli ktoś wie to proszę o podpowiedźwitam.
wykorzystałem twój kod formularza, i wszystko działa bez zarzutu, co do tej jednej linijki, to można to rozwiązać tak, jak poniżej, dałem też możliwość podania tematu, numeru gg i strony www,

Kod PHP:
require("mail/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir "mail/";
$mail->From "xxx@xxx.xx"//adres naszego konta
$mail->FromName "Uzytkownik mojej strony";//nagłówek From
$mail->Host "xxx";//adres serwera SMTP
$mail->Mailer "smtp";
$mail->Username "xxx";//nazwa użytkownika
$mail->Password "xxx";//nasze hasło do konta SMTP
$mail->SMTPAuth true;
$mail->SetLanguage("pl""mail/language/");

$mail->Subject $_GET['temat'];//temat maila

// w zmienną $text_body wpisujemy treść maila
// treści wpisane w formularzu
$text_body "nick:  ";

$text_body .= $_GET['nick'];  

$text_body .= "\n\n";

$text_body .= "e-mail:  ";

$text_body .= $_GET['email']; 

$text_body .= "\n\n";

$text_body .= "gadu-gadu:  ";

$text_body .= $_GET['gadu']; 

$text_body .= "\n\n";

$text_body .= "strona:  http://";

$text_body .= $_GET['strona']; 
 
$text_body .= "\n\n";

$text_body .= "tresc:\n";
 
$text_body .= $_GET['tresc']; 

$mail->Body $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("xxx@xxx.xx","me");

if(!
$mail->Send())
echo 
"Wystąpił błąd, mail nie został wysłany  " ;
echo 
$mail->ErrorInfo."
"
;

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo 
"wiadomość wysłana";

?>

Kod PHP:
<center>
<
FORM ACTION="wyslij.php" METHOD="GET" ENCTYPE="text/plain"
<
table border="0" cellpadding="0px" cellspacing="0px"><tr>
<
td valign="top" width="130px">Imię/Nicktd
<
td align="left" width="360px"><INPUT TYPE="text" NAME="nick" style="border-style: groove; border-color: #000000">td>tr>
 <
tr>
<
td valign="top" width="130px">Twój emailtd
<
td width="360px" align="left"><INPUT TYPE="text" NAME="email" style="border-style: groove; border-color: #000000">td>tr
 
 <
tr>
<
td valign="top" width="130px">Twoje ggtd
<
td width="360px" align="left"><INPUT TYPE="text" NAME="gadu" style="border-style: groove; border-color: #000000">td>tr
 
 <
tr>
<
td valign="top" width="130px">Twoja stronahttp:// 
<td width="360px" align="left"><INPUT TYPE="text" NAME="strona" style="border-style: groove; border-color: #000000">td>tr
 
 
<
tr><td valign="top" width="130px">Temattd
<
td width="360px" align="left"><INPUT TYPE="text" NAME="temat" style="border-style: groove; border-color: #000000">td>tr>
 <
tr>

<
td valign="top" width="130px">Treść<BR>wiadomościtd
<
td width="360px" align="left"><TEXTAREA NAME="tresc" COLS="40" ROWS="10" style="border-style: groove; border-color: #000000">TEXTAREA>td>tr>table>
 
 <
BR><INPUT TYPE="submit" VALUE="Wyślij">  <INPUT TYPE="reset" VALUE="Wyczyść"center>FORM

jednak mam z tym kodem jeden problem - spam.
znalazłem kod do tokena obrazkowego (www) ale za żadne skarby nie wiem, jak zrobić, żeby działał tak jak powinien przy tym formularzu.

proszę bardziej doświadczonych o pomoc.
anles
04-06-2007, 19:32
Cytat Napisał anles
Wysyłanie maila testowego działa (zrobione wg tego opisu :http://60free.ovh.org/pl/support/sup...PhpMailer.html ).
Ale co powinienem zrobić aby mail działał w Drupalu 5.1?
(rejestracja nowych userów, przypomnienie hasła)

pozdrawiam

anles
Męczyłem się z tym pare dni.
I nagle zaczęło wszystko działać!
Nie pytajcie jak to zrobiłem, bo mie mam pojęcia co się stało.
Ja nic nie zrobiłem.

Przepraszam za zamieszanie,

Pozdrawiam

anles

anles
04-06-2007, 17:11
Cytat Napisał Łabędź
http://60free.ovh.org/pl/support/sup...PhpMailer.html

Jak coś trzeba będziej bardziej wyjaśnić to proszę o informację.

pozdrawiam
Wysyłanie maila testowego działa (zrobione wg tego opisu :http://60free.ovh.org/pl/support/sup...PhpMailer.html ).
Ale co powinienem zrobić aby mail działał w Drupalu 5.1?
(rejestracja nowych userów, przypomnienie hasła)

pozdrawiam

anles

matek143
26-04-2007, 01:05
Według tego też robię i błąd jest ten sam...

mariano
25-04-2007, 15:42
Cytat Napisał matek143
Robiłem według tego:
To rob wedlug tego: http://60free.ovh.org/pl/support/sup...PhpMailer.html

matek143
25-04-2007, 14:32
Robiłem według tego:

http://forum.ovh.pl/showthread.php?t=5382

i po wysłaniu maila wyskakuje takie coś:

Kod:
Warning: PHPMailer::include_once(phpmailer/class.smtp.php) [function.PHPMailer-include-once]: failed to open stream: No such file or directory in /home/m/a/t/matek143/www/phpmailer/class.phpmailer.php on line 460

Warning: PHPMailer::include_once() [function.include]: Failed opening 'phpmailer/class.smtp.php' for inclusion (include_path='.:/usr/local/php5/lib/php') in /home/m/a/t/matek143/www/phpmailer/class.phpmailer.php on line 460

Fatal error: Class 'SMTP' not found in /home/m/a/t/matek143/www/phpmailer/class.phpmailer.php on line 527
Co mam źle? :/

mariano
11-04-2007, 09:01
Do pol typu "file" masz dostep poprzez zmienna "_FILES", nie "_POST". Zob. http://pl.php.net/manual/en/features.file-upload.php Najlepiej przekopiuj przyklady z tej strony.

eLG
10-04-2007, 21:37
Mam wielką prośbę do szanownych kolegów. Napisałem swój formularz w postaci strony html, który powinien przesyłać poprzez POST dane do skryptu php. Tej z kolei powinien wysylać maila zawierającego informacje podaną w formularzu wraz z dodanymi załącznikami. Problem w tym, że udaje mi się wysyłać emaile bez załączników. Czy komuś się udało wysłać emaila z załącznikami? Co ciekawe próbując rozwiązać ów problem na początku skryptu php, który powinien wysyłać emaile, zrobiłem prostą funkcję wypisującą zadane parametry z formularza html do pliku w katalogu mojej stornki www - celem sprawdzenia ich wartości. Okazuje się, że wszystkie parametry z formularza html oprócz plików są widoczne w skrypcie php. Jednak gdy wewnątrz skryptu php próbuje uzyskać dostęp do ścieżki/pliku, który załączyłem do formularza html - zmienna okazuje się pusta.

Poniżej załączam fragment formularza html:


Imię/Nick: "text" NAME="nick" style="border-style: groove; border-color: #000000">
Twój email: "text" NAME="email" style="border-style: groove; border-color: #000000">
Treść
wiadomości:








subject
replayto
from
sendto
message
filename



fragment skryptu "sendmail.php", który powinien zapisywać zmienna filename z formularza html do pliku baza2.txt:

include('smtp.php');

$filename = $_POST['filename']; //bez tej linijki tez nie dziala poprawnie

// przypisanie zmniennej $fileq nazwy pliku
$fileq = "baza2.txt";

// uchwyt pliku, otwarcie do dopisania na początku pliku
$fpq = fopen($fileq, "w");

// blokada pliku do zapisu
flock($fpq, 2);

// zapisanie danych do pliku
fwrite($fpq, $filename);

// odblokowanie pliku
flock($fpq, 3);

// zamknięcie pliku
fclose($fpq);
....


Czy wie ktoś może dlaczego zmienna filename, przy próbie zrzucenia jej zawartości do pliku okazuje się pusta?
Z innymi zmiennymi formularza jak np. subject, from itp. nie ma takich problemow. Ich wartosci sa poprawnie zapisywane do pliku baza2.txt i wysylane mailem.
Czemu tak sie nie dzieje ze zmienna filename?

Będę bardzo wdzięczny za odpowiedź i pomoc - męczę się z tym problemem już 3 dzień.

Pozdrawiam.

Aramis
26-03-2007, 14:33
Witam.

Na wstępie zaznaczam, że o php wiem średnio - niewiele. Zostałem "uszczęśliwiony" stroną stworzoną w Joomli. Chciałbym uruchomić w niej formularz kontaktu. Wiem, że do tego potrzebuję np. PHPMailer'a. Jednakże mam problem jak powiązać go z Joomlowym formularzem. Widziałem już sposób powiązania z mailerem formularza (w Tym poście), jednak w mojej Jumlowej stronce formularz kontaktu jest "opcją" pliku index.php
Kod:
.../index.php?option=com_contact&Itemid=3
a nie osobnym plikiem (np. kontakt.html)

Czy w takim wypadku mam dokonywać zmian w samym pliku index.php?

Edit:
A może po prostu zrezygnować z Jumlowego formularza i napisać własny?

Edit 2:
No i z nudów zacząłem eksperymentować z własnym formularzem. Wszystko szło dobrze, przez syntax errory przebrnąłem bez problemu, jednak nad tym siedzę i nie wiem już co robić.
W momencie wysyłania wiadomości na serwer dostaję info:
Kod:
Wystąpił błąd podczas wysyłania wiadomości.Błąd SMTP: Następujący odbiorcy są nieprawidłowi: moje_inne_konto@interia.pl
Wiadomość wysłana.
Mój php (skopiowany z tego forum):
Kod:
PluginDir = "phpmailer/";
$mail->From = "moje_koto@interia.pl"; //adres naszego konta
$mail->SMTPAuth = true;
$mail->FromName = "BLABLA"; //nagłówek From
$mail->Host = "poczta.interia.pl"; //adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "moje_konto"; //nazwa użytkownika
$mail->Password = "moje_hasło"; //nasze hasło do konta SMTP
$mail->SetLanguage("pl", "phpmailer/language/");
$mail->Subject = "Formularz kontaktowy z mojej strony"; //temat maila

// w zmienną $text_body wpisujemy treść maila
$text_body = "Od: ".$_GET['nick']."\nWiadomosc: ".$_GET['tresc']."\nNadawca: ".$_GET['email'];

$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("moje_inne_konto@interia.pl","JA");

if(!$mail->Send())
echo "Wystąpił błąd podczas wysyłania wiadomości.";
echo $mail->ErrorInfo."
"; // Clear all addresses and attachments $mail->ClearAddresses(); $mail->ClearAttachments(); echo "Wiadomość wysłana."; ?>
I cokolwiek wpisuję w adres odbiorcy, zawsze jest ten błąd... W tym wątku pojawił się podobny błąd, jednak dotyczył nieprawidłowego nadawcy (nie ten serwer smtp), jednak nie widzę tu analogii...

lopi999
11-04-2006, 11:34
no
$mail->IsHTML(true); // set email format to HTML
$mail->Subject = "Here is the subject";
$mail->Body = "This is the HTML message body in bold!";
$mail->AltBody = "This is the body in plain text for non-HTML mail clients";

mizeria
10-04-2006, 20:55
Aby wysyłać (uzywajac phpmailer'a) wiadomosc w formie html nalezy w 42 linijce (var $ContentType=) pliku class.phpmailer.php ustawic wartosc na "text/html". następnie bezproblemowo mozemy wysylać listy html uzywajac php!

wasabi686
03-04-2006, 18:05
A ja mam taki kod formularza:







Nick:
Twój e-mail:
Treść
wiadomości:

i taki kod wysyłający meila:
Kod PHP:
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir "phpmailer/";
$mail->From "lordvader20@interia.pl"//adres naszego konta
$mail->FromName "LordVader"//nagłówek From
$mail->Host "poczta.interia.pl"//adres serwera SMTP
$mail->Mailer "smtp";
$mail->Username "lordvader20@interia.pl"//nazwa użytkownika
$mail->Password "moje_haslo"//nasze hasło do konta SMTP
$mail->SMTPAuth true;
$mail->SetLanguage("pl""phpmailer/language/");

$mail->Subject "Formularz kontaktowy ze strony http://lordvader.ovh.org"//temat maila

// w zmienn± $text_body wpisujemy treść maila
$text_body "Od: ".$_GET['nick']."\nWiadomosc: ".$_GET['tresc']."\nNadawca: ".$_GET['email'];

$mail->Body $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("lordvader20@gmail.com","LordVader");

if(!
$mail->Send())
echo 
"Wyst±pił bł±d podczas wysyłania wiadomości.";
echo 
$mail->ErrorInfo."
"
;

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo 
"Wiadomość wysłana.";

?>
No i dostaję meila bez adresu email goscia ktory sie wpisywal do formularza. Wie ktos co z tym zrobic? Oprocz tego wszystko dziala, dostaje tresc meila, nick goscia tylko nie dostaje meila. :/


//edit: sory juz dziala. pozmienialem atrybuty NAME okienek tekstowych i dziala.

lopi999
02-04-2006, 21:03
W kodzie zanalazlem cos takiego.
/**
* Adds a "Bcc" address. Note: this function works
* with the SMTP mailer on win32, not with the "mail"
* mailer.
* @param string $address
* @param string $name
* @return void
*/
function AddBCC($address, $name = "") {
$cur = count($this->bcc);
$this->bcc[$cur][0] = trim($address);
$this->bcc[$cur][1] = $name;
}
Nie wiem czy ci to pomoże.
Chyba ze dla każdego adresu stworzysz oddzielne zapytanie.
.........
$mail->Send()
$mail->ClearAddresses();
$mail->AddAddress("m1@wp.pl","Jurek");
$mail->Send()
$mail->ClearAddresses();
$mail->AddAddress("m2@wp.pl","Ogórek");
$mail->Send()
$mail->ClearAddresses();
$mail->AddAddress("m3@wp.pl","Mórek");
$mail->Send()
itd....

Thornag
02-04-2006, 16:26
Otoz w tym kodzie ktory umiesciliscie na stronie

require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir = "phpmailer/";
$mail->From = "NASZE@KONTO"; //adres naszego konta
$mail->FromName = "phpMailer tester";//nagłówek From
$mail->Host = "NASZ.SERWER.SMTP";//adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "tester@KONTO";//nazwa użytkownika
$mail->Password = "HASLO";//nasze hasło do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("en", "phpmailer/language/");

$mail->Subject = "Mail testowy";//temat maila

// w zmienną $text_body wpisujemy treść maila
$text_body = "Cześć, chyba phpMailer działa \n\n";
$text_body .= "Na zawsze Twój, \n";
$text_body .= "PHPMailer";

$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("jurek@gdziestam.pl","Jurek");
$mail->AddAddress("franek@gdziestam.pl","Franek");

if(!$mail->Send())
echo "There has been a mail error
";
echo $mail->ErrorInfo."
";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "mail sent
";

?>

chcialbym dodac naglowek BCC (zalezy mi na wyslaniu do kilku uzytkownikow tak zeby nie widzieli swoich maili). Ma ktos pomysl jak powinien wygladac naglowek zawierajacy BCC ?

Admin_wolarzeczycka
01-04-2006, 15:28
Lopi999

Twoje zapytanie tak szczegółowe i wskazówka bardzo mi pomogły

WIELKIE DZIĘKI

lopi999
28-03-2006, 14:40
wykasować
"

No w sumie nie wiem czemu to g.. nie dziala.
moj niby adres "bis@o2.pl"
niby haslo: "bronek"

require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->IsSMTP(); // set mailer to use SMTP
$mail->Host = "smtp.o2.pl"; // specify main and backup server
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "bis"; // SMTP username
$mail->Password = "bronek"; // SMTP password
$mail->SetLanguage("pl", "phpmailer/language/");
$mail->From = "bis@wp.pl"; // Obojetnie co wpisze wywala Mailer Error: Nast�puj�cy adres Nadawcy jest jest nieprawid�owy:
$mail->FromName = "ala";
$mail->AddAddress("bisbis23@wp.pl", "Josh Adams");
$mail->WordWrap = 50; // set word wrap to 50 characters
$mail->IsHTML(true); // set email format to HTML

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

if(!$mail->Send())
{
echo "Message could not be sent.

";
echo "Mailer Error: " . $mail->ErrorInfo;
exit;
}

echo "Message has been sent";

?>


moze mi ktos wytłumaczyc czemu to do.. nie działa ??


Dobra doszedłem do tego :-)
dla kont z o2 należy uzyć poczta.o2.pl. nie smtp.o2.pl
a i w phpmailer/class.phpmailer zmiecie sobie
var $SMTPDebug = false;
na var $SMTPDebug = true;
na stronie bedzie drukowana odpowiedz serwa smtp. i mozna sie dowiedziec ciekawych rzeczy.. Tylko do celow diagnostycznych.

korzystajac z kont wp nie wyslemy
"

Pduch123
20-03-2006, 16:05
ja tez tak mam co mam zrobic??

jaras
10-03-2006, 09:38
Cytat Napisał Macieksm
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir = "phpmailer/";
$mail->From = "NASZE@KONTO"; //adres naszego konta
$mail->FromName = "Uzytkownik mojej strony";//nagłówek From
$mail->Host = "NASZ.SERWER.SMTP";//adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "tester@KONTO";//nazwa użytkownika
$mail->Password = "HASLO";//nasze hasło do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("en", "phpmailer/language/");

$mail->Subject = "Formularz kontaktowy ze strony bleble";//temat maila

// w zmienną $text_body wpisujemy treść maila
// treści wpisane w formularzu
$text_body = $_GET['nick'];
$text_body .= $_GET['email'];
$text_body .= $_GET['tresc'];

$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("twój@adres.email.pl","Kai");

if(!$mail->Send())
echo "Wystąpił błąd, mail nie został wysłany"
";
// <- cuś nie tak z cudzysłowami ;-D

echo $mail->ErrorInfo."
";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "Dziękujemy za komentarz
";

?>
Cytat Napisał Macieksm
Parse error: syntax error, unexpected '>' in /home/m/a/c/moja_strona/www/phpmailer/wyslij.php on line 28
I słusznie, że 'parse error' ;-). Ja, na miejscu tego parsera, też bym to wyświetlił. ;-)

Pozdrawiam serdecznie.

Macieksm
09-03-2006, 18:13
Mam taki sam skrypt jak na górze.....

require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir = "phpmailer/";
$mail->From = "NASZE@KONTO"; //adres naszego konta
$mail->FromName = "Uzytkownik mojej strony";//nagłówek From
$mail->Host = "NASZ.SERWER.SMTP";//adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "tester@KONTO";//nazwa użytkownika
$mail->Password = "HASLO";//nasze hasło do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("en", "phpmailer/language/");

$mail->Subject = "Formularz kontaktowy ze strony bleble";//temat maila

// w zmienną $text_body wpisujemy treść maila
// treści wpisane w formularzu
$text_body = $_GET['nick'];
$text_body .= $_GET['email'];
$text_body .= $_GET['tresc'];

$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("twój@adres.email.pl","Kai");

if(!$mail->Send())
echo "Wystąpił błąd, mail nie został wysłany"
";
echo $mail->ErrorInfo."
";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "Dziękujemy za komentarz
";

?>

Wysyłam z formularza :










i dostaje komunikat :

Parse error: syntax error, unexpected '>' in /home/m/a/c/moja_strona/www/phpmailer/wyslij.php on line 28

Proszę o pomoc
wasylgkps
20-12-2005, 11:30
no trzeba trzeba

wgrałem całą zawartość 'phpMailer' na serwer...teraz pisze mi:

Następujący kod należy umieścić w pliku z rozszerzeniem 'php' i odpowiednimi atrybutami w katalogu w którym znajduje się katalog 'phpmailer' z klasą phpMailer
no to robie sobie plik 'phpMailer.php' i w nim:


require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir = "phpmailer/";
$mail->From = "wasylgkps@poczta.onet.pl"; //adres naszego konta
$mail->FromName = "phpMailer tester";//nagłówek From
$mail->Host = "smtp.poczta.onet.pl";//adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "tester@KONTO";//nazwa użytkownika
$mail->Password = "****";//nasze hasło do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("en", "phpmailer/language/");

$mail->Subject = "Mail testowy";//temat maila

// w zmienną $text_body wpisujemy treść maila
$text_body = "Cześć, chyba phpMailer działa \n\n";
$text_body .= "Na zawsze Twój, \n";
$text_body .= "PHPMailer";

$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("jurek@gdziestam.pl","Jurek");
$mail->AddAddress("franek@gdziestam.pl","Franek");

if(!$mail->Send())
echo "There has been a mail error
";
echo $mail->ErrorInfo."
";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "mail sent
";

?>
a nastepnie umieszczam go gdzie??? w tym katalogu 'phpMailer' czyli:

www/phpmailer/phpMailer.php ???

czy:

www/phpMailer.php ???

prubowalem róznie robic, ale dalej nie można wysłać do mnie(administratora) maila...

pozdrawiam

Łabędź
20-12-2005, 09:44
Cytat Napisał wasylgkps
Ja mam taka małą propozycję, aby zebrać całe info dotyczące funkcji mail tzn. z dokładnym wyjaśnieniem co i jak skonfigurować (wpisać, edytować) aby to działało poprawnie, wtedy temat mozna podpiąć...bo teraz każdy co innego gada lub dopowiada, że sam nic z tego nie wiem...
Hmm, ale przecież w sumie na stronce jest podana wersja, która działa :-)
Co jeszcze trzeba napisać?

http://60free.ovh.org/pl/support/sup...PhpMailer.html

pozdrawiam

wasylgkps
19-12-2005, 23:21
Ja mam taka małą propozycję, aby zebrać całe info dotyczące funkcji mail tzn. z dokładnym wyjaśnieniem co i jak skonfigurować (wpisać, edytować) aby to działało poprawnie, wtedy temat mozna podpiąć...bo teraz każdy co innego gada lub dopowiada, że sam nic z tego nie wiem...

Łabędź w Tobie nadzieja

pozdrawiam

count_haraadar
19-12-2005, 05:59
Mam problem z konfiguracja php mailera. Moze ktos na forum mi pomoze. Przeprowadze konfigutracje na abstrakcyjnym mailu googli.

Przyjmijmy mail.html




Teraz mail.php
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir = "phpmailer/";
$mail->From = "przykladowy_email@gmail.com"; //adres naszego konta
$mail->FromName = "phpMailer tester";//nagłówek From
$mail->Host = "smtp.gmail.com";//adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "tester@KONTO";//nazwa użytkownika
$mail->Password = "haslo_haslo_haslo";//nasze hasło do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("en", "phpmailer/language/");

$mail->Subject = "Mail testowy";//temat maila

// w zmienną $text_body wpisujemy treść maila
$text_body = "Cześć, chyba phpMailer działa \n\n";
$text_body .= "Na zawsze Twój, \n";
$text_field .= "PHPMailer";

$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("jurek@gdziestam.pl","Jurek");
$mail->AddAddress("franek@gdziestam.pl","Franek");

if(!$mail->Send())
echo "There has been a mail error
";
echo $mail->ErrorInfo."
";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "mail sent
";

?>
Po nacisnieciu wyslij dostaje taki komunikat:
There has been a mail error
The following From address failed: przykladowy_email@gmail.com
mail sent
Co jest nie tak ?

ps. Czy jak smpt wymaga uwierzytelniania (np. tlen) to da sie wyslac tą metodą ?

kai
04-12-2005, 00:45
Cytat Napisał Frano
Dziwne że przy $_POST['...'] wysyłało mi puste maile.
u mnie przy POST i GET wysyla normalnie. Oczywiscie jade POST'em

kombinuje jak zrobic jeszcze sprawdzenie poprawnosci wypelnionych pol.

kai
04-12-2005, 00:41
Cytat Napisał Frano
Niestety jest tu jeden problem, całość zostaje wysłana w jednej linijce i za Chiny nie wiem jak to poprawić

Jeśli ktoś wie to proszę o podpowiedź
wiec tak, mala moja poprawka

$text_body = "Od: ".$_POST['email']."\nWiadomosc: ".$_GET['tresc']."\nNadawca: ".$_GET['nick'];

teraz przysyla na maila w kilku linijkach

Frano
03-12-2005, 17:16
Hmmm... nie wiem czy nie lepiej będzie dać np. coś takiego:

Kod PHP:
// przypisywanie treści z pól formularza
$nick $_GET['nick'];
$email $_GET['email'];
$tresc $_GET['tresc'];

// i wtedy w zawartości maila
$text_body "$nick napisał \n";
$text_body .= "$tresc \n";
$text_body .= "Adres zwrotny : $email "
Tak sobie kombinuje , testne jak ruszy ftp.
Nie ma to jak uczyć się php z google
Dziwne że przy $_POST['...'] wysyłało mi puste maile.

---
Weeee! pełen sukces

kai
03-12-2005, 09:11
Cytat Napisał Frano

// w zmienną $text_body wpisujemy treść maila
// treści wpisane w formularzu
$text_body = $_GET['nick'];
$text_body .= $_GET['email'];
$text_body .= $_GET['tresc'];
a proboales dopisac \n po zmiennych?
jeszcze nie sprawdzalem czy dziala ten sposob ale raczej masz racje jak skoncze to dam znac
dzieki.

Frano
03-12-2005, 03:24
Ja zrobiłem w taki sposób:
(napiszę to tak że wystarczy Ci wkleić to w odpowiednie pliki)

Plik nr.1 - np. kontakt.html (ew. kontakt.php i całość przez echo "..." ; ale wtedy zmień każde wewnętrzne " na ')
Kod HTML:
"wyslij.php"
METHOD="GET" ENCTYPE="text/plain">
Imię/Nick:
Twój email:
Treść
wiadomości:
"0">

"submit" VALUE="Wyślij">"reset" VALUE="Wyczyść">Plik nr.2 - wyslij.php
Kod PHP:
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();

$mail->PluginDir "phpmailer/";
$mail->From "NASZE@KONTO"//adres naszego konta
$mail->FromName "Uzytkownik mojej strony";//nagłówek From
$mail->Host "NASZ.SERWER.SMTP";//adres serwera SMTP
$mail->Mailer "smtp";
$mail->Username "tester@KONTO";//nazwa użytkownika
$mail->Password "HASLO";//nasze hasło do konta SMTP
$mail->SMTPAuth true;
$mail->SetLanguage("en""phpmailer/language/");

$mail->Subject "Formularz kontaktowy ze strony bleble";//temat maila

// w zmienną $text_body wpisujemy treść maila
// treści wpisane w formularzu
$text_body $_GET['nick'];
$text_body .= $_GET['email'];
$text_body .= $_GET['tresc'];

$mail->Body $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("twój@adres.email.pl","Kai");

if(!
$mail->Send())
echo 
"Wystąpił błąd, mail nie został wysłany" <br>";
echo 
$mail->ErrorInfo."<br>";

// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "
Dziękujemy za komentarz <br>";

?>
Chyba dobrze napisałem...wiecie jest 3 w nocy
Niestety jest tu jeden problem, całość zostaje wysłana w jednej linijce i za Chiny nie wiem jak to poprawić

Jeśli ktoś wie to proszę o podpowiedź
kai
03-12-2005, 00:47
Cytat Napisał kai
Kurcze mam problem z konfiguracja Po przeczytaniu nie wiele rozumiem
Jesli to mozliwe to prosze o pomoc, a najlepiej o bardzo szczegolowy opis
Pozdrawiam.
Ok juz skonfigurowałem, sorki za klopot. mam jeszcze pytanko: jak teraz zrobic kontakt ze mna ze strony www? co moge zrobic z phpmailerem abym odwiedzajacy moja strone mogli wypelnic formularz i wyslac mi wiadomosc?

ps. skrypt formularza mam, chodzi mi tylko jak go powiazac z phpmailerem?

kai
03-12-2005, 00:23
Cytat Napisał Łabędź
http://60free.ovh.org/pl/support/sup...PhpMailer.html

Jak coś trzeba będziej bardziej wyjaśnić to proszę o informację.

pozdrawiam
Kurcze mam problem z konfiguracja Po przeczytaniu nie wiele rozumiem
Jesli to mozliwe to prosze o pomoc, a najlepiej o bardzo szczegolowy opis
Pozdrawiam.

TrevorG
01-12-2005, 19:00
Ehhh... A da się jakoś wysyłać na adresy np.: @tlen.pl? Za kożdym razem przysyła "Undelivered mail returned to sender"... Ma ktoś jakiś sposób?

Frano
24-11-2005, 11:24
Cytat Napisał Łabędź
Jak coś trzeba będziej bardziej wyjaśnić to proszę o informację.

pozdrawiam

Jak wysłać zwykły formularz ?
Formularz w html:
Kod HTML:
Imię/Nick: "text" NAME="nick" style="border-style: groove; border-color: #000000">
Twój email: "text" NAME="email" style="border-style: groove; border-color: #000000">
Treść
wiadomości:
"0">
IP serwera: "text" NAME="IP" style="border-style: groove; border-color: #000000">
Tryb gry:
Używane mody: "text" NAME="Mody" style="border-style: groove; border-color: #000000">


"submit" VALUE="Wyślij" style="border-style: groove; border-color: #000000"> "reset" VALUE="Wyczyść" style="border-style: groove; border-color: #000000">
Wygląda to TAK

awariat
12-10-2005, 00:19
przesyłanie maili działe bez zarzutów
jednak chciałbym wysłac maila jako html
jak to zrobic
korzystałem z przykladu i wpisałem tak
Kod PHP:
$text_body "


Tytul strony


Moja wiadomosc hbjhbjhb



"

jednak pokazuje jako normalny string

taki mam przykład
Kod PHP:
$wiadomosc =


Tytul strony


Moja wiadomosc hbjhbjhb



"
;


//Tu okreslamy Mime i kodowanie strony
//Mime to nic innego jak spis akceptowanych przez serwer typów plików - mime type,
//kodowania chyba nie trzeba tlumaczyc
$headers "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
//Zwróc uwage na kropki znajdujace sie w dodatkowych naglówkach

//naglówek od kogo wysylana jest poczta, jesli to pominiesz
//adresat dostanie poczte od (najczesciej) nobody@adres.com.pl
$headers .= "From: Bastek \r\n";

//dodatkowe naglówki C.Copy
//$headers .= "Cc: kopia@xx.com.pl\r\n";
//$headers .= "Bcc: druga_kopia@xx.com.pl\r\n";

//wysylamy maila
mail("awariat@o2.pl""temat wiadomosci"$wiadomosc$headers);

?>

K@iTO
27-09-2005, 02:09
ha udalo mi sie uruchomic na jPortalu smtp_mail ale tylko na wychodzacą sunskrypcje i na wyslij wiadomosc do admina

To jush duzo

Teraz prosze ambitnych o zrobienie pod jPortala wysylanie linka aktywacyjnego, rekomenduj nas i ... wszystko bedzie ok puzniej zrobie howto + pliki

K@iTO
26-09-2005, 18:19
no i spox teraz dopiero zacznnie sie zabawa zeby to ruszylo pod jPortala

Prace rozpoczolem

@Łabędź

Może mój mały howto damy już do forum na temat jp na ohv.org

a jak dojde do tego jak smtp_mail ruszyc to sie doda chyba ze ktos pierwszy sie wyrobi

Łabędź
26-09-2005, 14:30
http://60free.ovh.org/pl/support/sup...PhpMailer.html

Jak coś trzeba będziej bardziej wyjaśnić to proszę o informację.

pozdrawiam