Diskuze: Amazon SES + Nette
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Já používám něco takového.
$options = [
'host' => 'email-smtp.eu-west-1.amazonaws.com', // například tento, záleží podle regionu
'username' => 'xxx',
'password' => 'yyy',
'secure' => 'ssl'
'persistent' => true,
];
$message = new \Nette\Mail\Message();
$message->setFrom('odesilatel@example.com', 'Název odesilatele')
->addTo('prijemce@example.com')
->setSubject('PHP Předmět')
->setHtmlBody('Máme rádi PHP!');
$smtpMailer = new \Nette\Mail\SmtpMailer($options);
$smtpMailer->send($message);
8-10 emailů za vteřinu
U mailu je zasadni problem spam. Ruzna antispamova opatreni zabranuji
odesilat vice mailu soucasne.
Je treba s takovou transakci dohodnout se spravcem serveru, ktery maily
odesila.
K odesilani mailu muzes pouzivat server, kde web bezi. Nemusis pouzivat
externi sluzbu.
V obou pripadech plati, ze ta sluzba ma nastavena nejaka omezeni a antispamova
opatreni. Zalezi hodne na tom, kolik platis.
Pokud se chces vyhnout antispamu, jsou na to ruzna pravidla.
Ahoj, u Amazonu mám sjednaný limit 14 mailu za s a 50 000 za den. Takže v tomto bych problém nevidel, spíš jde o to, že dlouho trvá připojení k Amazonu, takže bych rád našel řešení - jeden request na připojení k serveru a pak jen posílání a odpojení. A né připojit, poslat odpojit, připojit poslat odpojit.
Díky
google = php conect to mail server
https://www.lifewire.com/…-ssl-1171197
Tady pisou, ze pouzivaji pear mail. Ale tusim, ze firemni admin rikal, ze byla v
pear ted nalezena nejaka chybka, tak ti to asi nepujde spustit na vasem
serveru.
https://www.hostinger.com/…ing-php-mail
Tady pouzivaji phpmailer.
google = php conect to mail server lot of mail socket
http://php.net/…map-open.php
google = php mail socket
https://stackoverflow.com/…-with-socket
$fp= fsockopen("smtp.myhost.com", 25);
fputs($fp, "EHLO your.domain\r\n");
fputs($fp, "AUTH LOGIN\r\n");
fputs($fp, "MAIL FROM:" . $from_mail . "\r\n");
fputs($fp, base64_encode($login) . "\r\n");
fputs($fp, base64_encode($password) . "\r\n");
fputs($fp, "RCPT TO:" . $mail_to . "\r\n");
fputs($fp, "DATA\r\n");
fputs($fp, $header . "\r\n" . $text . "\r\n.\r\n");
fputs($fp, "QUIT\r\n");
https://schoudhury.com/…h-fsockopen/
function smtp_mail($to, $subject, $message, $headers = '')
{
$recipients = explode(',', $to);
$user = '<your mail id>';
$pass = '<your password>';
// The server details that worked for you in the above step
$smtp_host = '<server>';
//The port that worked for you in the above step
$smtp_port = 465;
if (!($socket = fsockopen($smtp_host, $smtp_port, $errno, $errstr, 15)))
{
echo "Error connecting to '$smtp_host' ($errno) ($errstr)";
}
server_parse($socket, '220');
fwrite($socket, 'EHLO '.$smtp_host."\r\n");
server_parse($socket, '250');
fwrite($socket, 'AUTH LOGIN'."\r\n");
server_parse($socket, '334');
fwrite($socket, base64_encode($user)."\r\n");
server_parse($socket, '334');
fwrite($socket, base64_encode($pass)."\r\n");
server_parse($socket, '235');
fwrite($socket, 'MAIL FROM: <'.$user.'>'."\r\n");
server_parse($socket, '250');
foreach ($recipients as $email)
{
fwrite($socket, 'RCPT TO: <'.$email.'>'."\r\n");
server_parse($socket, '250');
}
fwrite($socket, 'DATA'."\r\n");
server_parse($socket, '354');
fwrite($socket, 'Subject: '
.$subject."\r\n".'To: <'.implode('>, <', $recipients).'>'
."\r\n".$headers."\r\n\r\n".$message."\r\n");
fwrite($socket, '.'."\r\n");
server_parse($socket, '250');
fwrite($socket, 'QUIT'."\r\n");
fclose($socket);
return true;
}
//Functin to Processes Server Response Codes
function server_parse($socket, $expected_response)
{
$server_response = '';
while (substr($server_response, 3, 1) != ' ')
{
if (!($server_response = fgets($socket, 256)))
{
echo 'Error while fetching server response codes.', __FILE__, __LINE__;
}
}
if (!(substr($server_response, 0, 3) == $expected_response))
{
echo 'Unable to send e-mail."'.$server_response.'"', __FILE__, __LINE__;
}
}
Ahoj, zatim díky, prokoušu se informacema a dám ti vědet, jestli sem něco vymyslel.
Děkuju
Zobrazeno 6 zpráv z 6.