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.

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: