Problem:
gMail rejects emails missing a "MessageID" header, and email originating from my Samsung phone does not include the MessageID header.
What I see:
Email originating from my phone's email app [Samsung email Version 6.1.72.1] does not include a message header (when using my private domain's SMTP server, parked at GoDaddy/SecureServer.Net). Therefore, eMail from me/myphone on that account, to any gMail user, is rejected by the Google servers with a 500/550 error, and bounced.
On my phone, other email with another domain includes a MessageID header. I had assumed that a SMTP server creates that globally unique ID; but since the MessageID does show up on those emails, I'm not sure.
Other Info:
eMails from my thunderbird client, sending through the same domain/SMTP, do include the MessageID
emails from my phone client, through another, second domain, do include the messageID
emails from the WebClient for SecureServer.Net do include the MessageID
deleting my domain email from the phone app, and recreating it, does not change anything
GoDaddy/ReSeller phone-help was not helpful. That first-layer help asserts that an escalation reported to him that: there is no SMTP server setting which can explain what's going on, and; the expectation is that their SMTP server creates all MessageID headers and puts them in all emails.
I am looking at the as-sent, raw emails by sending emails to my domain which I pick up on my Thunderbird.
I posted this issue on the Samsung help, and no one has answered. An earlier, similar question had a single answer, which was to ask Google at the google account help page. Not helpful, for me.
So, Questions:
Which application client or server is generating the MessageID line, and does email in "sent mail" include a MessageID because the client retrieves the MessageID from the SMTP server as part of the send process?
how do I force eMail, from my domain on my Samsung phone's email app, to include a MessageID ...
... so I can use my phone to write letters to gMail users
I had the same error, and was trying to get the messageId into my e-mails.
But the problem was not a wrong client or SMTP server, it was a missing "SPF record" in the DNS records of my domain.
Google changed policies for incoming e-mails, which now require an SPF record.
If you have access to the DNS records of the domain, try to add a TXT field with SPF information.
There are some details regarding SPF:
https://support.google.com/a/answer/33786?hl=en
https://www.validity.com/blog/how-to-build-your-spf-record-in-5-simple-steps/
Related
I'm developing an application (as a part of team) for android that interacts with server (asp.net web service) for synchronize and update information in client side.
for preventing attack to server we use SSL connection and also authenticate users with soap header message contains username and password.
here is the scenario for synchronization:
users send web service request with header contains : username , password , time of request , and(for preventing man on the middle attack) hash code of all three parameters(username+password+time) as message signature
web service check that :
is this a new message by checking the signature of message stored in server
if this is a new message (and its not duplicated) then check that signature is true by hashing all three parameters(username+password+time)
then check expiration time : is the message new ( in 5 minute ) for expiring old messages
Authenticate username and password
validate datatype and length of parameters ( in this case only time of device's last sync )
response to request
device get the response as xml file
the question :
because of this scenario we have to give user's devices authentication information so they could interact with server in future and also we don't want to get any information like username and password from users ( for user experience purpose! )
so we build a Web Handler Captcha in server and when users are new, we send them a captcha image generated by their device code(it is uid generated by device something like : https://www.server.com?appid=00000000-0000-0000-0000-000000000000 ) and when if user sends the correct captcha to server we add a new user to our database ( auto username and random password ) and save to the android's account manager for future use
in your opinion is this a good approach for authentication and security?
Thank you for tips
Https and a method to get a sessionId is enough security for most apps, anyhow my opinion:
Unless you include a secret within the hashed variables a "man in the middle" can change the parameters and forge a valid hash.
I would recomend a registration method. It's going to take device information as parameter, and the captcha if you will.
It's going to return a deviceId and a deviceSecret. The deviceSecret must not be transmitted again, just used as part of the hashes.
Also consider using a counter instead of time. It can help against replay attacks and it's easier overall.
I want to send emails with javamail-android but I'am using a host server different than usual ones (Gmail, Yahoo, Hotmail, etc). The host is accessed via APN throught the mobile data network, I don't know how configure this. Currently my code for sending email setup all fields like this:
mailer.setFrom("myself#xxxxx.com");
mailer.setUser("myself#xxxxx.com");
mailer.setPassword("xxxxxxxxxx");
mailer.setHost("smtp.xxxxx.xx");
mailer.setPort(25);
mailer.setSocketFactoryPort(25); // ?
I'm getting the next error Unknown SMTP host: smtp.xxxxx.xx. I know for sure that at least the above data is OK. But I don't know how to use the previous configuration on APN and "mobile-data". Is there something wrong with this configuration ? Do I have to change something to make it work with APN and mobile data network?
My code for sending email is almost the same described here.
I am working on an android email client for my university email service. However, I have some troubles with attachments.Actually, I can get attachment from emails that are from gmail or other popular email services but I can't get attachments from emails that are from our university domain.
In gmail, it sends more than one body part in MimeMultipart (Message.getContent() returns MimeMultipart object) and I can get the attachments.
However, in my university email service send one BodyPart in MimeMultipart and it has only the text part of the message as plain and html.
Should I use extra command for obtain attachments?
This JavaMail FAQ entry might help.
Also, try the msgshow.java sample program. You can read the source code of the program to see it it finds the attachments, or you can use it with the "-s" option to show the structure of the message. If you can't figure it out, post the -s output here.
i am using the default email app that come with ics, and i want to catch the email recieving programatically (i want to recieve and sender information and the email body itself), how can i do it? i tried search however i only find how to send email and how to recieve email in gmail (which is not my case)
thanks
Unfortunately, there is no way to "catch" emails as they come to the phone. You'll have to manually connect to the mail server and download the emails. If you're interested in doing that, I've used the javamail-android port, which actually is pretty fully featured.
I am new to android. I configured the email address in the android emulator.I want to get the email content,if the configured email receives the mail from other mailid.which notification shall i use and how to get the email content when the notification raises the alert. how can i achieve this.
Thanks in advance.....
It sounds to me like you're trying to say that you signed-in to the mail app on the Android device. From my understanding of the question you've raise, signing-in to an email account on the Android device doesn't mean any application can just grab emails from it. The closest solution I can think of is creating an IMAP connection to a mail server to grab mail content.