Tag Archives: zend

Setting up WAMP for Zend Framework Projects

A ZF project would not run out of the box on a fresh installation of WAMP. The purpose of this guide is to act as a checklist for the experienced, and a step by step guide for the more inexperienced. Before we start, this article is written based on WampServer 2.0i with Zend Framework 1.10. If you are using earlier versions, the steps should work, but you might want to consider upgrading to the newest.

  1. Make sure Wamp is running ok
  2. Enable virtual hosts, mod_rewrite, and override in ‘httpd.conf’
  3. Set up virtual host in ‘httpd-vhosts.conf’
  4. Check include paths for  the Zend library
  5. Add Custom URLs in host file

1. Make sure Wamp is running ok

Navigate to http://localhost on your favorite browser, you should see the WampServer welcome screen with headings “Server Configuration”, “Tools”, “Your projects” etc. If not, check your Wamp installation before proceeding further.

Continue reading

Sending email using gmail’s smtp with Zend Framework

To send emails using gmail’s smtp server, you must specify the tls port by providing the ‘ssl’ and ‘port’ in the config array. The default port for tls is 25 but gmail is using 587. You will also need to authenticate with your account and password.

Update: There’s a daily limit of outgoing emails you can send using this smtp, I experienced a problem of maxing my limit while sending out confirmation emails to the users of my facebook app. So if you are looking to do the same, just be warned that its a bad idea.

$config = array(
‘ssl’ => ‘tls’,
‘port’ => 587,
‘auth’ => ‘login’,
‘username’ => ‘sender@domain.com’,
‘password’ => ‘password’);

$transport = new Zend_Mail_Transport_Smtp(‘smtp.gmail.com’, $config);
//Use this if you do not want to specify $transport evertime you use Zend_Mail->send()

$mail = new Zend_Mail();
$mail->setBodyText(‘Email body in plain text’);
$mail->setBodyHtml(‘Email body in HTML’);
$mail->setFrom(‘sender@domain.com’, ‘Name of sender’);
$mail->setReplyTo(‘sender@domain.com’,’Name of sender’);
$mail->addTo(‘recipient@targetdomain.com’, ‘Name of recipient’ );
$mail->setSubject(‘Your trial at FItness First’);

You can use your own domain name using gmail’s coporate email service, if not, just use gmail.com for the domain.

Catch, gmail automatically replaces whatever ‘from’ or ‘reply-to’ you have specified with the account you are authenticating with (sender@domain.com). To use another account, you must allow gmail to send using that email address by following the steps here.

Service Capture is your friend

Well, at least when you’re using flash + amf. Last week I was getting the dreaded NetConnection.Call.BadVersion error every other day. Debugging blindly, I had no way of knowing whether I was moving towards or away from the solution. On the verge of giving up until I gave Service Capture a try. The handy tool sets up itself as the proxy to your browser and monitors all kinds of traffic, SOAP, XML, Text, JSON, Flash Traces, you name it. For my case, I used it primarily to decode the AMF responses from my zend_Amf gateway. It decodes the binary responses and place it along the request and response headers in a familiar object tree view, making inspection a breeze.

And I also realized what was causing the errors: the flash player was trying to decode a redirection to facebook’s login page as Amf. Doh.