We are using PHP Zend framework to send the mail. When we sent mail to yahoo, Yahoo headers says that Domain Keys fails (bad sig). We have set up the DKIM, DomainKeys in our server. We configured our server in outlook and sent the mail to yahoo via outlook, at this time yahoo headers says that domainkeys=pass (ok);.
Why yahoo treats the mails differently even though same server is used to sent the mail via outlook client and PHP Zend program?
We have captured the network packets when the mail was being sent from both client(outlook and Zend). After comparing both headers, we found out that Outlook has communicated the server with IMF(Internet message format) protocol, From, to, subject,date,Mime boundary and ext all are sent via this IMF protocol. But out PHP's Zend framework does not use this IMF protocol at all.
Is this IMF protocol important for yahoo to understand the mail authenticity? Or not using IMF protocol is not a problem?
What is misleading the yahoo to say our domainkey signature is bad?
Gmail is accept out domain key signature.
I hope some experts can help me to sort out this problem. Thank you?
By
Ravi
Related
I am doing my assignment given by the lecturer. On the title stated, my idea is about setting up a mail server on the server and we can send the email from the client, all the email is stored in the server virtual machine. Do my idea is correct on this title stated or any recommendations?
Sending mail is not that hard, especially just using (E)SMTP, tcp
text dialogs. Or you can use Linux mail commands.
Storing mail, either locally or accessing mail on a pop or imap server, poses
another set of challenges.
And of course, you need the HTML web pages as well as the services.
Attaching files can be another challenge, both uploading the files
and encoding them for inclusion in the mail.
JAVAScript can make some usual features of email clients easier, like sorting a list of emails in a folder or from a search by a column ascending or descending.
Searching email is an even bigger challenge!
I am using the nodemailer SMTP node module, a simple way to send emails through SMTP.
I am using this to send out text messages to various cell carriers, which will allow you to send a text message for free via email. An example email, which will text the Sprint phone (310) 987-6543:
3109876543#messaging.sprintpcs.com
These are all going out through one SMTP email address. This means all text replies from someone's phone will channel back to my email address.
A lot of people send these texts. I want to route the reply text back to the right person, using my own server side code.
The problem is distinguishing where the text came from. Ideally I could hide my own primary key ID for the sender in some sort of SMTP header, which would arrive at the recipients phone and come straight back in their text reply.
I don't really know anything about SMTP or email protocols - is this possible?
edit
As given in each of the answers below, in better email servers you can address to an email address as well as an extension to that address, such as:
// original email
sms-service#mysite.com
// extension
sms-service+a6e1087b#mysite.com
This would be a correct answer and would solve my problem, if only this worked in Exchange Server, which is the email server I am using. I don't know if there is a way to enable this or any other workaround.
Exchange server doesn't support plus addressing natively but it is possible do achieve this with a custom MTA, e.g. http://durdle.com/regexcatchall/
Source: https://serverfault.com/questions/195276/does-exchange-support-plussed-users-e-g-mynamespamexample-com-or-a-similar
Here are a few approaches that you might be able to use:
Unique from addresses
You could you use unique "from" or "reply-to" address for each each message (or for each recipient). For example "sms-service+a6e1087b#mysite.com". In that example, the hex would be a unique identifier that can be mapped to the conversation in your database.
Gmail supports such a scheme: emails targeted to [foo]+[whatever]#gmail.com will be delivered to [foo]#gmail.com and the receiver will know also get the [whatever] back. (more on this http://lifehacker.com/144397/instant-disposable-gmail-addresses)
Identify the user, not the conversation
One option is to not identify the conversation, but identify the phone number the reply comes back from instead. In many cases, the number from where the SMS reply was sent back from is enough to connect that message to the conversation. I'm sure the SMS gateway you're using will provide you with the number from where the reply came from.
Commercial SMS gateway
You can also opt to use a commercial SMS gateway (smsglobal.com comes to mind, though there are many others). These services have well defined APIs for sending a receiving replies. This naturally comes at a price, though. But along with the price, you do get more confidence as to the reliability of the service. A free SMS gateway might get shut down without much warning.
This common problem is traditionally implemented using the semantics of From: and Reply-To: headers of e-mails. This is in fact not (directly) related to SMTP, but rather to ARPA network text messages.
RFC 5322 is the current specification of these messages. It states:
When the "Reply-To:" field is present, it indicates the address(es) to which the author of the message suggests that replies be sent. In the absence of the "Reply-To:" field, replies SHOULD by default be sent to the mailbox(es) specified in the "From:" field unless otherwise specified by the person composing the reply.
So you simply need to encode the information you need into the Reply-To: header. Since you mention your own server-side code, you might be running an SMTP server yourself. In this case, you can put any address that will be routed to your SMTP server and encode the right person's address there.
Alternatively, if you rely on another SMTP server, you might want to use aliases. Postfix, and mail services such as GMail, typically allow address extensions, i.e. addresses of the form user+foo#domain.com, and you can encode the necessary information in the address extension.
For example, let's say that alice#domain.com wants to send a text to Sprint phone (310) 987-6543 through your service, you could send an e-mail to 3109876543#messaging.sprintpcs.com with:
Reply-To: alice%40domain.com#yourservice.com
Alternatively:
Reply-To: yourservice+alice%40domain.com#gmail.com
This will allow you to route the reply properly by looking at the destination of the reply e-mail.
In my application im using mailgun module to send and receive emails using node.js.I don't know how to receive the incoming emails.I created route to receive the incoming email.but its not working.
Mailgun is simply posting URL encoded form data.
Check out this discussion on receiving POST data in node.js: How do you extract POST data in Node.js?
Also it's worth noting that for whatever mail-header-related reasons, if you have mailgun set to forward something to a#b.com, then messages sent from a#b.com will not show up back in your inbox. Send mail from a different address. Note that mailgun can sometimes tell if you're using the Send As feature in gmail, and will know your main address.
I have an application that has an agent that converts a document to the MIME format ('memo.convertToMIME (2)') and sends it to multiple external emails: gmail, hotmail, yahoo, etc ... This agent is triggered by a button.O problem is that when the e-mail sent is read by the browser in hotmail, the images do not appear, but the texts, tables and formatting appear normal. As for gmail, yahoo, etc, e-mail usually appears by the browser. The funny thing is that when I send an e-mail address so convecional the lotus, other than by application of a lotus, only using the client, this e-mail test is usually read by hotmail in your browser. Does anyone have any idea what might be happening?
PS: This agent is designed to run on the server, because the command 'convertToMime ()' only works for version 8.5 of the lotus forward, but the company has users using lotus client 7.
According to Bob Balaban, there's a glitch in the conversion code deep underneath the C API layer: it does not automatically convert attachment contents to a base-64 encoding (even though the API documentation says it will) - it leaves them in binary format.
See Geek-O-Terica 15: Easy conversion of Notes documents to MIME format (Part 1) for details.
A view of the MIME created/received by an external user would help us too in determining, what is exactly wrong.
This is the code: d59516457">http://monobin.com/_d59516457
These are the results when using Debug|iPhone (Debug|Simulator works fine):
When the "From" is set to GMail, I can only send to a GMail account.
When the "From" is set to my ISP, I can send to myself (at the ISP) and GMail, but NOT to another of my email addresses not connected to the ISP. (it's to an address for one of my websites, which is then forwarded to my ISP).
Any ideas why this is so flakey? I thought at first it was the ISP, but now I'm not so sure.. is there a way to "trace" any of hops?
I'm concerned that if I submit it to the app store, a user will have the same problem as this, and I don't want a bad rep for the app. On the other hand, because it works, sometime and not others, maybe I could hope it's my phone?
if you want you can use http://testflightapp.com/ so you get some beta testers doing Ad-Hoc releases of your app (you choose who you want to invite), if you want so I can send you an invite I would be more than glad to help you to test your app :) email me if you want the invite, my email its on my profile
About the solution, you can check if you have a webmail based interface that you can view on your computer, the email that you sent from the iPhone must be on the sent items folder, if the email and the attachment are there you can be sure that your application is delivering correctly you email to the SMTP server so the problem resides somewhere else...
Also make sure your that your smtp server is not blacklisted as a SPAM server even more if your smtp server relies on shared enviroment like Hostgator shared plans etc
Alex