Error 501 by sending mail using a Swift mail program

<?php require_once '../plugin/swift/lib/swift_required.php'; // Create the Transport $transport = Swift_SmtpTransport::newInstance('pod51003.outlook.com',587,'tls') ->setUsername(' user@connect.polyu.hk ') ->setPassword('pw') ; // Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport); // Create a message $message = Swift_Message::newInstance('Wonderful Subject') ->setFrom(array(' john@doe.com ' => 'John Doe')) ->setTo(array(' foodil@hotmail.com ', ' foodil@yahoo.com.hk ' => 'A name')) ->setBody('Here is the message itself') ; // Send the message $result = $mailer->send($message); printf("Sent %d messages\n", $result); ?> 

It turned out:

  Fatal error: Uncaught exception 'Swift_TransportException' 
 with message 'Expected response code 250 but got code "501", with message "501 5.5.4 Invalid domain name"' 
 in C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ AbstractSmtpTransport.php: 422 

 Stack trace: 
 # 0 C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ AbstractSmtpTransport.php (306): Swift_Transport_AbstractSmtpTransport -> _ assertResponseCode ('501 5.5.4 Inval ...', Array) 
 # 1 C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ EsmtpTransport.php (224): Swift_Transport_AbstractSmtpTransport-> executeCommand ('HELO [:: 1] ??', Array, Array) 
 # 2 C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ AbstractSmtpTransport.php (323): Swift_Transport_EsmtpTransport-> executeCommand ('HELO [:: 1] ??', Array) 
 # 3 C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ EsmtpTransport.php (272): Swift_Transport_AbstractSmtpTransport -> _ doHeloCommand () 
 # 4 C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ AbstractSmtpTransport.php (124) in C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ AbstractSmtpTransport.php on line 422

In fact, I immediately follow the tutorial, so this is what I missed in my code? The SMTP server information is valid.

External SMTP setup:
Server name: pod51003.outlook.com - you can also see the note below on how to determine the server name
Port: 587
Encryption Method: TLS

after adding a line: there is another error:

  Warning: stream_socket_enable_crypto () [streams.crypto]: this stream does not support SSL / crypto in C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ StreamBuffer.php on line 102

 Fatal error: Uncaught exception 'Swift_TransportException' 
 with message 'Unable to connect with TLS encryption' 
 in C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ EsmtpTransport.php: 283 

 Stack trace: 
 # 0 C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ AbstractSmtpTransport.php (124): Swift_Transport_EsmtpTransport -> _ doHeloCommand () 
 # 1 C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Mailer.php (79): Swift_Transport_AbstractSmtpTransport-> start () 
 # 2 C: \ xampp \ htdocs \ fyp \ mail \ send.php (26): Swift_Mailer-> send (Object (Swift_Message)) 
 # 3 {main} thrown in C: \ xampp \ htdocs \ fyp \ plugin \ swift \ lib \ classes \ Swift \ Transport \ EsmtpTransport.php on line 283
+4
source share
1 answer

Try adding this line here, as shown below:

 // Create the Transport $transport = Swift_SmtpTransport::newInstance('pod51003.outlook.com',587,'tls') ->setUsername(' user@connect.polyu.hk ') ->setPassword('pw') ; // ADD THIS LINE $transport->setLocalDomain('[127.0.0.1]'); // Create the Mailer using your created Transport $mailer = Swift_Mailer::newInstance($transport); 

I assume that your SMTP server does not like / do not understand IPv6 based on the response you get with the HELO command.

+10
source

Source: https://habr.com/ru/post/1392104/


All Articles