Autor Zpráva
Costím
Profil *
Ahoj,

Mám na php5.cz web, a chci odeslat e-mail z webu přes SMTP server...
Pokaždě ale ukáže nějakou chybu...

Warning: socket_set_timeout() has been disabled for security reasons in /storage/www1/7/site52917/wwwroot/class.smtp.php on line 147
SMTP Error: Could not authenticate.

Potom jsem zkusil v jednom souboru zakomentovat tento script

if(substr(PHP_OS, 0, 3) != "WIN")
     socket_set_timeout($this->smtp_conn, $tval, 0);


Už to bylo lepší... ale furt to ukazuje tuto chybu:

SMTP Error: Could not authenticate.

Co dělám špatně?

$mail = new PHPMailer();
 $mail->CharSet = 'iso-8859-2'; // nastavení kodování e-mailu

 $mail->IsSMTP(); // použijeme k odeslání e-mailu SMTP server
 $mail->SMTPAuth = true; // je nutná SMTP autorizace
 $mail->Host = 'smtp.seznam.cz'; // adresa SMTP serveru
 $mail->Username = 'jmeno.prijmeni'; // uživatelské jméno
 $mail->Password = 'mojeheslo'; // uživatelské heslo

 $mail->From = 'neco@seznam.cz'; // e-mailová adresa odesílatele
 $mail->FromName = "Jmeno"; // celé jméno odesílatele
 $mail->AddAddress('neco2@seznam.cz'); // e-mailová adresa příjemce

 $mail->Subject = 'První e-mail';
 $mail->Body = 'Toto je první e-mail odeslaný pomocí knihovny PHPMailer!';
 $mail->WordWrap = 50; // zalomení těla zprávy po 50 znacích


Jestli má někdo zkušenosti s odesláním mailu z php5.cz tak budu rád..
Díky
nightfish
Profil
problém se zřejmě týká autentizace na SMTP serveru seznamu
zkusil bych do UserName uložit celou e-mailovou adresu
(a jinak to zakomentování uvedených řádků je v tomto případě, kdy máš zakázanou funkci socket_set_timeout, dobrou volbou - pokud bys tedy u poskytovatele nedosáhnul jejího povolení)
Costím
Profil *
UserName sem změnil na celou adresu a přesto tahle chyba =(

SMTP Error: Could not authenticate. Zpráva nebyla odeslána!
Mailer Error: SMTP Error: Could not authenticate.

SMTP server error: VXNlcm5hbWU6

Možná bych mohl zkusit třeba odesilani gmail... nebo se to musí nastavit na seznamu ještě?
nightfish
Profil
zkusil jsem spustit tvůj kód a mail to odešle v pořádku...
snad jen že na řádku 7 a 10 musí být stejná adresa...
Costím
Profil *
Hej něco vyplnuju asi špatně... mužeš mě to please napsat podrobněji kam se co píše ? díky moc
nightfish
Profil
Costím
vzal jsem tvůj kód z prvního příspěvku, na začátek dal require souboru class.phpmailer.php, na konec přidal $mail->Send(), změnil příjemce na jednu moji adresu na vlastní doméně, na řádek 7 a 10 vyplnil mou e-mailovou adresu u seznamu, na řádek 8 vyplnil své heslo u seznamu a mail se odeslat, a za chvíli o doručil
Costím
Profil *
Chyba byla ta, že na konci jsem neměl to

$mail->Send();


vůbec nevím kam to zmizlo =)

Ještě si musím pohrát s kódováním..

Díky moc !!
jklasdf
Profil *
Mám stejný problém. Poprvní se mi e-mail odešle. Někdy i podruhé a potřetí. Potom se mně objeví ta hláška:

SMTP Error: Could not authenticate. Zpráva nebyla odeslána!
Mailer Error: SMTP Error: Could not authenticate.

SMTP server error: VXNlcm5hbWU6

Myslím si, že je to ochrana seznamu proti e-mail bombing, ale nevím, co stím. Když se chvíli přihlašuju a odhlašuju k e-mailu, otvírám znovu internet a měním jméno odesílatele, tak to zase na tři pokusy zprovozním a počtvrté zase ta hláška.
nightfish
Profil
jklasdf:
Když se chvíli přihlašuju a odhlašuju k e-mailu, otvírám znovu internet a měním jméno odesílatele, tak to zase na tři pokusy zprovozním a počtvrté zase ta hláška.
používej SMTP server, který nemá limity pro odchozí poštu
jklasdf
Profil *
A který to je? Používám seznam.
Kh
Profil *
jklasdf:
Používám Google. Nevím, jestli má ochranu, ale problém mi to nedělá.
nightfish
Profil
Kh:
Používám Google.
SMTP Googlu afaik vyžaduje SSL/TLS, které phpmailer nepodporuje
jedním z možných řešení je použít swiftmailer
jklasdf
Profil *
Děkuju vám, už to funguje. Použil jsem ten g-mail a swiftmailer. Hlásilo to hlášku:

Warning: stream_set_timeout() has been disabled for security reasons in /storage/www2/4/site53464/wwwroot/lib/Swift/Connection/SMTP.php on line 246

Ale odeslalo to. Tak jsem to jen zapoznámkoval.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: