title: Laravel 4.2. Send email, remote SMTP, Windows Server R2, IIS
body: <p>I just moved my Laravel 4.2. application from WAMP into IIS web server, and the email-function just stopped working - no idea why.</p>
  
  <p>I use external SMTP server from a hosting service, so I didn't thought it was going to cause any problem.</p>
  
  <p>My settings:</p>
  
  <pre><code>return array(
  
  /*
  |--------------------------------------------------------------------------
  | Mail Driver
  |--------------------------------------------------------------------------
  |
  | Laravel supports both SMTP and PHP's "mail" function as drivers for the
  | sending of e-mail. You may specify which one you're using throughout
  | your application here. By default, Laravel is setup for SMTP mail.
  |
  | Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill", "log"
  |
  */
  
  'driver' =&gt; 'smtp',
  
  /*
  |--------------------------------------------------------------------------
  | SMTP Host Address
  |--------------------------------------------------------------------------
  |
  | Here you may provide the host address of the SMTP server used by your
  | applications. A default option is provided that is compatible with
  | the Mailgun mail service which will provide reliable deliveries.
  |
  */
  
  'host' =&gt; 'smtp.*my-host*.se',
  
  /*
  |--------------------------------------------------------------------------
  | SMTP Host Port
  |--------------------------------------------------------------------------
  |
  | This is the SMTP port used by your application to deliver e-mails to
  | users of the application. Like the host we have set this value to
  | stay compatible with the Mailgun e-mail application by default.
  |
  */
  
  'port' =&gt; 587,
  
  /*
  |--------------------------------------------------------------------------
  | Global "From" Address
  |--------------------------------------------------------------------------
  |
  | You may wish for all e-mails sent by your application to be sent from
  | the same address. Here, you may specify a name and address that is
  | used globally for all e-mails that are sent by your application.
  |
  */
  
  'from' =&gt; array('address' =&gt; "example@mail.com", 'name' =&gt; "Example name"),
  
  /*
  |--------------------------------------------------------------------------
  | E-Mail Encryption Protocol
  |--------------------------------------------------------------------------
  |
  | Here you may specify the encryption protocol that should be used when
  | the application send e-mail messages. A sensible default using the
  | transport layer security protocol should provide great security.
  |
  */
  
  'encryption' =&gt; 'tls',
  
  /*
  |--------------------------------------------------------------------------
  | SMTP Server Username
  |--------------------------------------------------------------------------
  |
  | If your SMTP server requires a username for authentication, you should
  | set it here. This will get used to authenticate with your server on
  | connection. You may also set the "password" value below this one.
  |
  */
  
  'username' =&gt; "user@host.se",
  
  /*
  |--------------------------------------------------------------------------
  | SMTP Server Password
  |--------------------------------------------------------------------------
  |
  | Here you may set the password required by your SMTP server to send out
  | messages from your application. This will be given to the server on
  | connection so that the application will be able to send messages.
  |
  */
  
  'password' =&gt; "********",
  
  /*
  |--------------------------------------------------------------------------
  | Sendmail System Path
  |--------------------------------------------------------------------------
  |
  | When using the "sendmail" driver to send e-mails, we will need to know
  | the path to where Sendmail lives on this server. A default path has
  | been provided here, which will work well on most of your systems.
  |
  */
  
  'sendmail' =&gt; '/usr/sbin/sendmail -bs',
  
  /*
  |--------------------------------------------------------------------------
  | Mail "Pretend"
  |--------------------------------------------------------------------------
  |
  | When this option is enabled, e-mail will not actually be sent over the
  | web and will instead be written to your application's logs files so
  | you may inspect the message. This is great for local development.
  |
  */
  
  'pretend' =&gt; false,
  </code></pre>
  
  <p>I changed the auth properties above.</p>
  
  <p>The error i get from Laravel.</p>
  
  <pre><code>{"error":{"type":"ErrorException","message":"stream_socket_enable_crypto(): Peer certificate CN=`*.my-host-name.se' did not match expected CN=`smtp.my-host.se'","file":"D:\\Dir1\\Dir2\\vendor\\swiftmailer\\swiftmailer\\lib\\classes\\Swift\\Transport\\StreamBuffer.php","line":95}}
  </code></pre>
  
  <p>Any ideas? Should I maybe install a local SMTP service instead?</p>