Xampp Send Email Issues

After upgrading my xampp installation I had issues sending email.

I wrote a small test PHP page and it was saying my emails were being sent, but I never received them. Obviously something was misconfigured.

I thought I correctly edited my php.ini file, but it turns out all the tinkering I did with it may have caused the issues.

Search your php.ini file for [mail function].

  1. Remove the comment on smtp and smtp_port by removing the semi colons before them.
  2. Add smtp server, port number. I’m using my ISP smtp server. Find your ISP smtp settings by searching google.
  3. sendmail_from needs to be set only if you don’t specify a from header in your PHP code. This can be set to any email address.
; XAMPP: Comment out this if you want to work with an SMTP Server like Mercury
SMTP = examplesmtpserver.com
smtp_port = 25

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = email you want to send from (ex: [email protected]). This needs to be set or a from header must be added in the php mail code

 

Here is test PHP code that I used. You’ll have to edit the “to” variable to your email address.

$to = "your email here";
$subject = "Test Email";
$body = "Email for testing Xampp";

if (mail($to, $subject, $body)){
	echo("Message successfully sent!");
} 
else{
	echo("Message delivery failed…");
}

After visiting your created PHP page the page should tell you whether PHP sent your email. Please note that just because PHP says it sent the mail doesn’t actually mean the email will be delivered  While I was having issues PHP still said it successfully sent, but I wasn’t receiving emails. If you’re still having problems after it says email successfully sent you’ll have to do more digging.

Contact me if you have questions I’ll do my best to assist [email protected].

 

 

SoapClient Error after enabling FedEx Shipping Method on Magento Ecommerce Solution

In this tutorial I will explain how to fix the SoapClient error and why it happened. My server threw this error after enabling the FedEx shipping option in Magento running 1.7. I isolated the issue to the FedEx shipping option because every time I enabled FedEx the shopping cart. The next step was to check the Magento error logs which gave me the errors below.

2012-10-19T03:57:53+00:00 ERR (3): Warning: include(SoapClient.php): failed to open stream: No such file or directory  in /var/www/vhosts/www.domain.com/httpdocs/lib/Varien/Autoload.php on line 93
2012-10-19T03:57:53+00:00 ERR (3): Warning: include(SoapClient.php): failed to open stream: No such file or directory  in /var/www/vhosts/www.domain.com/httpdocs/lib/Varien/Autoload.php on line 93
2012-10-19T03:57:53+00:00 ERR (3): Warning: include(): Failed opening 'SoapClient.php' for inclusion (include_path='/var/www/vhosts/www.domain.com/httpdocs/app/code/local:/var/www/vhosts/www.domain.com/httpdocs/app/code/community:/var/www/vhosts/www.domain.com/httpdocs/app/code/core:/var/www/vhosts/www.domain.com/httpdocs/lib:.:')  in /var/www/vhosts/www.domain.com/httpdocs/lib/Varien/Autoload.php on line 93

First I’ll explain why it happened. The reason for my SoapClient error was the php-common and php-soap extensions were at a different version than my PHP installation itself.
PHP was at version 5.3.3 and php-common and php-soap were at 5.3.17. So it’s important to make sure that the PHP extension versions are compatible with the PHP version.

Secondly I’ll explain how to fix this issue. It was extremely easy.
*Note:  There is always the potential that an update may break your site make sure you have a backup in place and ready to go before completing this process!
I simply ran the following command. I knew the PHP version was old compared to the extensions so this updates the PHP installation.

yum update php

After updating the PHP restart Apache by running the following command.

service httpd restart

Refresh the website and verify the checkout works properly.

If you have questions feel free to email [email protected] or leave a comment below.

How-To's, Tech

How to Upgrade Magento from 1.6.2 to 1.7 Using Magento Connect

In this tutorial I will explain how to upgrade the Magento ecommerce solution from 1.6 to 1.7 using Magento connect.

First login to the Magento admin page.

Hover over System then hover over Magento Connect then click on Magento Connect Manager.

On the right side of where it says “Manage Existing Extensions” click on “Check for Upgrades”.

After it finishes scroll through the list of extentions and find “Mage_All_Latest” the entire extension should be yellow and in the actions drop down select the latest stable release.

Scroll to bottom of page and click commit changes this will start the upgrade.

Some people may get a timeout if the php execution time takes too long. If this happens make sure to adjust in the php.ini file the max execution time to something longer than default. I set mine to 300 seconds.

If you have any questions use the contact form or email me at [email protected].

Build Email Message Dynamically From Submitted Form

I wrote some code to dynamically generate an email message based on the names of form elements being sent through post.
In this post I’ll describe how it’s done.

The foreach loop grabs the keys from the post array. An example key for this  $_POST[‘Name’] would be “Name”. It’s important to put in the name of the field how you want it to show in the email. So if you want uppercase letters or spaces put them in.

The $keywos (key without spaces) gets the current key in the foreach loop and replaces the underscores that are automatically put in if the name from the HTML form elements had spaces when posting and replaces them with spaces.

Copy the post array to values array

If the current value for a particular key doesn’t have information in it don’t add it to the email message. This means the user hasn’t typed in any information in the input or selected an option.

If the key isn’t equal to submit then add it to the email messages. The submit button doesn’t need to be added to the email message.

 

Have questions? Email me at [email protected].

Understanding AJAX In WordPress Plugins

For me it’s difficult to retain and grasp the programming concept, especially if it’s new, if I don’t understand the why behind the concept. I didn’t  understand how to properly use AJAX in WordPress. I started searching google and found many article explaining how to use it. The problem was it didn’t go into enough detail for me to understand why. The articles said do it this way, but didn’t explain.

The following article from Smashing Magazine goes into great detail on how to use AJAX in WordPress.
http://wp.smashingmagazine.com/2011/10/18/how-to-use-ajax-in-wordpress/

Send me an email [email protected] if you have questions.

 

How-To's, Tech

Connect Android to a WPA2 Enterprise Wireless Network

Connecting to WPA2 Enterprise even if Android doesn’t officially support it.

There isn’t a lot of documentation on this for Android so I thought I would make a step-by-step how-to.

Here’s how to connect your Android phone to a WPA2 Enterprise wireless network.

Click on any of the pictures to enlarge them.

Step One: At main screen hit the menu button and select settings.

android-wpa2-wireless-tutorial-01

Read more

How to: Setup WordPress Android application and Blog

How to: Setup WordPress Android application and Blog

While setting up my WordPress application on my Desire I encountered an error displaying enable xmlrpc on my blog. I figured out what had to be done and thought I should share how to enable and set up the WordPress app.

image

Before you can setup a self hosted blog on the application you must enable XML-RPC under settings and writing. Then you can setup the WordPress application.

How-To's

How to Verify A2SD is Working Properly (The Easy Way)

After installing about 15 applications my phone displayed notifications informing me memory was low. I needed a solution because I wanted to install other applications. I discovered a ROM that had A2SD installed, but the biggest problem was figuring out how to set up A2SD. I spent hours researching how to properly install and verify A2SD was working.

Requirements:

Read more