Nelze poslat email přes SmtpMailer a TLS a 587

chladekt
Člen | 10
+
0
-

Nefunguje mi poslat email pres SmtpMailer, TLS a port 587. Pri tom port 25 jde. A jde i poslat mail pres PHPMailer s ekvivalentnim nastavenim – port 587 a TLS.

Zobrazovana chyba:
Nette\Mail\SmtpException: SMTP server did not accept AUTH LOGIN with error: 530 5.7.0 Must issue a STARTTLS command first in /var/www/…/vendor/nette/mail/src/Mail/SmtpMailer.php:236

Procetl jsem si diskuse tady na foru i dokumentaci nette k mailum. Bohuzel jsem nic nenasel. Prijde mi, ze to vypada na bug nette.

Verze nette/mail: 3.1.10
Verze PHPMaileru: 5.2.1

Mohl byste mě někdo popostrčit k řešení?

Detaily:

Kod pro nette:

$mail = new \Nette\Mail\Message;
$mail->setFrom('info@forms.3zsvm.cz')
    ->addTo('tomas.chladek@xart.cz')
	->setSubject('Potvrzení objednávky')
	->setBody("Dobrý den,\nvaše objednávka byla přijata.");

$mailer = new \Nette\Mail\SmtpMailer([
	'host' => 'pecari-smtp-forms.xart.cz',
	'username' => 'info@forms.3zsvm.cz',
	'password' => 'xxx',
	'encryption' => 'tls',
	'port' => '587'
]);
$mailer->send($mail);

Kod pro PHPMailer:

$mail = new PHPMailer(true);

$mail->CharSet = 'UTF-8';
$mail->Encoding = 'base64';
$mail->SMTPDebug = 3;
$mail->Timeout = 60;
$mail->isSMTP();
$mail->Host = "pecari-smtp-forms.xart.cz";

$mail->SMTPAuth = true;
$mail->Username   = 'info@forms.3zsvm.cz';
$mail->Password   = 'xxxx';

$mail->SMTPSecure = "tls";

$mail->Port = 587;
$mail->ReturnPath = "info@forms.3zsvm.cz";

$mail->From = "info@forms.3zsvm.cz";
$mail->FromName = "Full Name";

$mail->addAddress("tomas.chladek@xart.cz", "Recepient Name");

$mail->isHTML(true);

$mail->Subject = "Subject Text";
$mail->Body = "<i>Mail body in HTML</i>";

$mail->send();
nightfish
Člen | 516
+
+1
-

@chladekt V nette/mail v3.1 se parametr pro předávání módu zabezpečení nazýval secure, nikoliv encryption. Viz zdroják.

EDIT: Což se koneckonců dá vyčíst i z dokumentace k verzi 3.

Editoval nightfish (6. 3. 20:32)

admin@easyweb4u.cz
Backer | 143
+
0
-

Měl jsem podobný problém na Websupport, oni blokují odesílání pokud FROM nesouhlasí s SMTP schránkou. Já jsem pak raději přešel na SendmailMailer, to sice problém neřeší, ale funguje to nepoměrně rychleji.

chladekt
Člen | 10
+
0
-

nightfish napsal(a):

@chladekt V nette/mail v3.1 se parametr pro předávání módu zabezpečení nazýval secure, nikoliv encryption. Viz zdroják.

EDIT: Což se koneckonců dá vyčíst i z dokumentace k verzi 3.

Tak to jsem přehlédl. Se secure to funguje. Děkuji.