Correct SPF record using google apps

I am using google apps, and google is handling my email.

I have created the SPF record mention in the help forum in google, but the SPF record did not pass, verified by using and

After searching a bit I found that the SPF mentioned in google

v=spf1 ~all

is wrong and buggy, after consulting a hardcore programmer, we created an SPF record as

v=spf1 a mx ~all

This passed the test using both the method mentioned above.
However when I send an email to it shows delivery failed with the following message

Delivery to the following recipient failed permanently:

Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 550 550 The sender did not meet Sender Policy Framework rules. Please see (state 18).

However if I send mail from Yahoo or Gmail it gets delivered successfully, can anyone help me out?

Correct SPF record using google apps