Autor Zpráva
seky728
Profil
Ahojte, potřebuji nutně vyřešit odesílání emailu (ověření účtu uživatele), stačí aby mi to šlo doma.... Bohužel to nejde :D nečekaně...
Používám Wamp server. Na webu jsem se dočetl že aby to fungovalo musí se stáhnout nějaký falešný emailový server a wamp nakonfigurovat v php.ini . Nebylo by možné například se přihlásit prostřednictví php k seznam.cz na email a odtamtud to posílat? Díky za odpověď :)
milous
Profil
ano, můžeš to posílat např. přes seznam. Kdybys nevěděl jak, tak zkus např. api.nette.org/2.4/Nette.Mail.SmtpMailer.html
seky728
Profil
milous:
Aha, tak děkuji moc, zítra to vyzkouším. Teď tomu akorát vůbec ale vůbec nerozumím ... :Ď bohužel ...
Chápu dobře že vlastně doplním jen tu _construct? A prosimtě mohl by jsi mi ještě napsat v jakém to má být pořadí nějak se v tom nemohu vyznat ... :( + Jestli k tomu něco potřebuji.. nějakou knihovnu nebo něco... Moc děkuji za odpověď a za rady :)
milous
Profil
měl jsem spíš poslat odkaz na github.com/nette/mail, tam je to lépe popsaný. Lepší řešení je nainstalovat to přes composer - pokud nevíš co to je, tak si stáhni "Clone or Download". Problém může být ještě ve verzi PHP, pokud používáš starší (5.3), tak zkus github.com/nette/mail/tree/v2.3, jinak lépe novější verzi.

$mailer = new Nette\Mail\SmtpMailer(array(
        'host' => 'smtp.gmail.com',
        'username' => 'john@gmail.com',
        'password' => '*****',
        'secure' => 'ssl',
));
$mailer->send($mail);
smitka
Profil
Univerzální odpovědí na posílání mailů v PHP je github.com/PHPMailer/PHPMailer (oproti nette není třeba řešit závislosti).

Pro poslání emailu je dále třeba SMTP server. Lze použít ten na seznamu napoveda.seznam.cz/cz/email/imap-pop3-smtp, pro testy pak lze použít vlastní. Pokud není třeba posílat maily na jiné PC, je možné použít papercut.codeplex.com - ten pouze zobrazuje přijaté maily v jeho rozhraní. Pokud mají být maily dostupné i z jiných PC v síti, tak je potřeba plnohodnotný server - z klikacích třeba www.hmailserver.com, případně rozjet SMTP server na NAS serveru (pokud je k dispozici). Pokud by to mělo posílat maily i do internetu, tak je třeba použít již existující službu (třeba ten seznam), protože z domácí sítě se většinou nepodaří nastavit vše potřebné, aby maily nepadaly do spamu.
seky728
Profil
smitka
Nějak jsem to stáhl a přidal, ale vypisuje to 2 chyby
1. SMTP connect() failed.
2. Mailer Error: SMTP connect() failed.

Myslím si že to mám nastavené tak jak má být, server doma používám wamp a na přidělený na webu jsem to ještě poslat nezkoušel, nemohl by být třeba problém v tom wampu?
Nebo nějaká jiná rada?

Moc děkuji za pomoc :)
smitka
Profil
Cca takto:

require "class.phpmailer.php";
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->Host = "adresa smtp serveru";
$mail->SMTPAuth = true;
$mail->Username = "jmeno";
$mail->Password = "heslo";
$mail->From = "adresa@odesilatele";
$mail->FromName = "Jmeno Odesilatele";
$mail->Subject = "Predmet";
$mail->CharSet = "UTF-8";
$mail->Body = "Zprava";
if(!$mail->Send()) {
     echo "Odesilani se nezdarilo: " . $mail->ErrorInfo;
}
seky728
Profil
smitka:
Dobře radoval jsem se předčasně, jako joo funguje to ale po odeslání to na dané stránce vypíše ohromné množství textu.
Prosim vás jak ten výpis zablokuji?
seky728
Profil
seky728:
smitka:
Dobře radoval jsem se předčasně, jako joo funguje to ale po odeslání to na dané stránce vypíše ohromné množství textu.
Prosim vás jak ten výpis zablokuji?
Keeehi
Profil
V [#7] téměř žádný výpis není. Jen v případě chyby. Takže buď nastala chyba, což je divné když píšeš že se email odeslal, nebo jsi ke kódu něco přidal.
seky728
Profil
Omlouvám se byl jsem delší dobu mimo... Rekapitulace: mám problém s PHPMailerem z GitHubu, email se odešle a vypíše to dlouhou hlášku, která prostě na webu překáží :)
a to je toto:


SERVER -> CLIENT: 220 2.0.0 Seznam SMTP server waiting for your HELO/EHLO
CLIENT -> SERVER: EHLO localhost
SERVER -> CLIENT: 250-Email.Seznam.cz - Email zdarma na cely zivot ESMTP250-AUTH LOGIN PLAIN250-8BITMIME250-PIPELINING250-SIZE 26000000250-ENHANCEDSTATUSCODES250-STARTTLS250 X-SZNEXTENSIONS
....
CLIENT -> SERVER: DATA
SERVER -> CLIENT: 354 Enter message, ending with <CRLF>.<CRLF>
CLIENT -> SERVER: Date: Mon, 3 Apr 2017 18:37:43 +0200
CLIENT -> SERVER: To: lsecky@seznam.cz
CLIENT -> SERVER: From: First <zdravyStylMatProj@seznam.cz>
CLIENT -> SERVER: Reply-To: Last <zdravyStylMatProj@seznam.cz>
CLIENT -> SERVER: Subject: =?iso-8859-2?Q?Zdrav=FD_styl,_ov=EC=F8en=ED_emailu?=
CLIENT -> SERVER: Message-ID: <f489a3db7de14578786c2ce15ccee0f1@localhost>
CLIENT -> SERVER: X-Mailer: PHPMailer 5.2.23 (github.com/PHPMailer/PHPMailer)
CLIENT -> SERVER: MIME-Version: 1.0
CLIENT -> SERVER: Content-Type: text/html; charset=iso-8859-2
CLIENT -> SERVER: Content-Transfer-Encoding: 8bit
CLIENT -> SERVER:




CLIENT -> SERVER:
CLIENT -> SERVER: .
SERVER -> CLIENT: 250 2.0.0 Mail 1031108356 queued for delivery in session 4a4900000009.
CLIENT -> SERVER: QUIT
SERVER -> CLIENT: 221 2.0.0 Thanks for your visit, have a nice day.
Message sent!




Otázka zní... jak to prosím váš zablokovat? děkuji za odpovědi :)


A ke kódu jsem nic nepřidával, jen jsem dopsal konfiguraci (stmp klient, heslo, jméno atd...)
juriad_
Profil *
Nenastavuješ náhodou nějaký debug nebo nevypiseješ errory, i když nejsou?
Nepomůže toto?
 $mail->SMTPDebug = false;
seky728
Profil
juriad:
Ano nastavoval. Dobře díky :) bylo to tím :)

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: