Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

PHP Building Websites with PHP Contact Form & Sending Email Sending Our Email

Sending Our Email: Error sending the email

I'm following along on the PHP track, in the portion about creating a simple website. I'm at the point where I have tried to send the email out, but I get an exception. This one is called Swift_TransportException. The Message read: Expected response code 220 but got code "", with message "". I'll paste in the code here to show you want it looks like. All I added was the try and catch statements to catch the exception and echo out the message. // here is the code $app->post('/contact', function() use($app) {

$name = $app->request->post('name'); $email = $app->request->post('email'); $msg = $app->request->post('msg');

if(!empty($name) && !empty($email) && !empty($msg)) { // sanitize user-given information to remove unwanted characters $cleanName = filter_var($name, FILTER_SANITIZE_STRING); $cleanEmail = filter_var($email, FILTER_SANITIZE_EMAIL); $cleanMsg = filter_var($msg, FILTER_SANITIZE_STRING);

// use swiftmailer to send an email message
//First step, create a transporter and mailer object

$transporter = Swift_SendmailTransport::newInstance('usr/sbin/sendmail -bs');
$mailer = \Swift_Mailer::newInstance($transporter);

// next set up the information for the email (e.g. who it is from, who it is to, where it is going, and the message itself

$message = \Swift_Message::newInstance();
$message->setSubject('Email from our website');
$message->setFrom(array( $cleanEmail => $cleanName ));
$message->setTo(array( 'treehouse@localhost'));
$message->setBody($cleanMsg);

// prepare to send message through the mail.  If the mail was sent, the return value will be greater than 0.  So first, check the result to see if the value is greater than 0.  That would mean that the email was sent properly

try{
$result = $mailer->send($message);

if($result > 0) {
  // the resuklt was greater than zero, so redirect the user to the index page with a thank you message
  $app->redirect('/');

} else { // Redirect user to the contact page with a warning about missing information in the contact form // insert warning code here about missing information in the contact page $app->redirect('/contact'); } } catch(Swift_TransportException $e) { // nothing going to happen echo $e->getMessage(); } } });

Please send help soon.
Sincerely your, lovable, unknowledgeable PHPer