Its been some weeks im looking for it, but just cant find. Does anyone know how can you send anonymous email from a Android? Im using Intent like in:
Intent email = new Intent(Intent.ACTION_SEND);
.
.
.
email.putExtra(Intent.EXTRA_EMAIL , new String[]{"sendingToThisEmail#gmail.com"});
email.putExtra(Intent.EXTRA_SUBJECT, "subject");
email.putExtra(Intent.EXTRA_TEXT , "any stuff");
But this, or any other thing ive tryed always send the e-mail from the acc you are already logged by default on your Cell phone.
You won't find a straightforward way to do this (i.e. with Intents) unless you find some third party library. Also keep in mind that even if you send the email anonymously, the client IP will still be logged in the email.
Something like this might help you get started, but the basic idea is you'll want to find (or setup) an open SMTP server, connect directly with TCP and send messages using SMTP which is a mail protocol, obviously setting some sort of dummy from address.
I can think of a solution which takes the user message to a textbox and onSubmit sends the data to the server. At server side user messages are stored in databases where periodically a email sender program checks for the new messages and sends them to respective email ID.
Pros:-
Since emails are now being sent from one side it will be easier for you to send anonymous emails. i.e. you can have a dummy account like userMessage#yourdomain.com.
User IPs wont be tracked by the mail servers since a central server is sending the mails.
You can filter the messages which contain spam messages or abusive language by text filtering techniques.
You can store the messages for future use. For Pattern Analysis / Statistical Analysis. At the end of the year you will be able to generate reports, If needed in future.
Cons:-
Mails may not be sent immediately, well that largely depends how often your mail
sender runs an optimum delay is required.
That may require some extra memory space in your database.
this link may be helpful for sending portion, and finally, You are programming for good, keep it up!!!
Related
I am working on an Android APP that will handle multiple email accounts, POP3 and IMAP. The current APP, to check for email, you open the APP and click on an update feature. That logs into each email account, and checks for any new mail. Although this works, we need a more efficient, and timely check for new messages.
At first I thought PUSH was the way to go but from what I have read on here, that may not be ideal... especially with multiple IMAP accounts. If I understand right, it keeps each IMAP connection open long-term which could cause some other issues and not sure I could even use it with POP3 accounts.
I looked into POLL as an alternative but that too has potential issues. That involves how frequent it fires up and does the account "checks", the amount of time that takes, and how that all effects battery life. In addition, there appears to be several different "ways" to schedule the POLL option (AlarmManager, JobScheduler, and SyncAdapter)... and I assume one might be better than the other... especially with new version of Android that let you "quiet" your device at certain times of the day.
So the question is, based on what we are looking to do, which is the better way to handle this capability? I am leaning towards PUSH (which format...still unsure), but don't want to waste hours of time to find out that I went down the wrong path.
Thanks ahead for any advice.
IMAP supports IDLE Command in which client acts as passive entity depending/relying upon the server to notify arrival of new mails in account. But as you correctly figured out that it will keep connection open and other issues of rebuilding the connection if it gets disturbed due to any possible reason.
POP do not provide such passive capability to clients. Clients have to pull the mails from server.
From my experience, total synchronization of account on client side is not a problem but it requires too many things to be taken care of like parsing the mail content, maintaining the active list of mails in an account's folder, etc.
[1] Very simple synchronization mechanism would be to simply show the MailList and whenever a message is clicked upon then dynamically load the content of mail.
MailList = Sorted order of Mail Entries in an account's folder.
Single Mail Entry = Sender + Mail Subject + Mail Date & Time + Mail Size
This method of showing MailList initially and fetching the mail content on demand can be achieved via both:
IMAP (FETCH Subject, INTERNALDATE, Sender, Size) and
POP (TOP n m {TOP is a POP command which can fetch m number of lines of nth mail's body along with complete MailHeaderSection of nth mail}). Afterwards MailHeaderSection can be parsed and MailList can be constructed.
[2] Simply fetch the complete mail and store accordingly. Now, Parse it on demand and show it to user. This is also readily supported in both:
IMAP (FETCH BODY.PEEK[])
POP (RETR n)
I like this method since its simple.
Both the above methods are working as if client is active entity (pulling mails on demand).
I have always wanted to be able to have my users send feedback to my email address. Not a problem when using 'createChooser()' with ACTION_SEND type within an Intent. This may lead to a few very rare errors where there is not an application on the user's device to handle that Intent.
My question is: Is it possible to send an anonymous "from" to my developer email account so the User's email will not be required? I know basic HTML, and am wondering if this is possible with a 'form' in a 'WebView' (preferably less complicated) I Do not have a web server or access to one, and am only an individual developer, so that may throw that out of question.
Any insight is greatly appreciated, thank you for reading.
I don't think there is a reasonably easy way to do this with Intents. The best way I can see is have a couple of EditTexts for the message and maybe a title, and then a send Button at the bottom, then sending programmatically with a java class.
See this link for some info on how to do the actual sending part: http://www.developerfusion.com/code/1975/sending-email-using-smtp-and-java/
It's fairly straightforward.
I need "Contact Us" functionality which is generally used in website.How to send emails to mail id's provided by user. I know that using Intent we can send email. Using intent we can open default mail app in phone and able to send mail, But how to send mail without opening mail app.
You could do it server-side: You make an HTTP-POST Request with all the data which you want to send in it.
Use WebView.
your "mailto:" tag will not be picked by any app as they will not have access to your webview.
I think the user needs to open the mail app, as you can't assure from which email he wants to send you a contact message. If the user has an already configured account or not, is something you may not know. Maybe he just wants to send you info without using his email.
If you still want to create a contact us going through email, I'd go for this solution.
Otherwise, something like what #niklas said would be ok, but maybe encrypting the content, and probably not sending it as an email, but storing it into a database (so they can just fill the database with trash, instead of exploiting your service to send spam)
Use JavaMail API ... See this below link.
Sending emails without user intervention
I'm currently thinking of setting up a picture message import project. Something like this:
Client Mobile Device [picture message] -> our Server Device
Server Device [picture && number -> Server Computer
However I don't know if there's a possible way to do this. I could set up a google voice account and use something like this in order to retrieve messages, however this doesn't allow picture messages...
So I was thinking of perhaps making an android or iPhone application to redirect picture messages. Though I don't know if this is possible. If it is, how would I go about gathering the messages? The networking is simple enough, however I'm not familiar with the android system, nor the message system of the iPhone.
On the other hand, I could make a simple email server to receive messages from the cell phone provider's email system.
Is any of the above viable? The image as well as the origin number are both needed.
This sounds like a typical client/server application actually, except the commands sent to the server contain binary data.
There are many ways to do this, and many protocols you can use. Email (gmail) is just one example.
What I would do is use HTTP to post binary messages to your web server. This is cool because it manages authentication, data transfer, etc, are all available.
Here's a short example: Secure HTTP Post in Android
Just add authentication on top of that and you're in business!
You would have to do some web server development too.
I hope this helps.
Emmanuel
Ok I think this is possible. I'm not sure how it works but I'll do my best.
First you have to be notified when an SMS is received by listening to SMS_RECEIVED events. BroadcastReceiver + SMS_RECEIVED
Second, you have to read the SMS attachment as explained here: Get attachment from unread MMS messages
Does this help?
Trying to obtain the "path" that a websites contact form has.
Is there a way to "reverse engineer" the std. "contact us" form to find out the actualy email address that it goes to ?
Generally not. The form will send it's data back to the web server, which may then send an email or do something else entirely like store it in a database or send it off to a CRM or ticketing system.
In days of yore people sometimes used an email address as the target of the form but I can't remember the last time I saw that.
Not usually.
Unless the e-mail address is embedded in the HTML or JavaScript code that your web browser executes, you are not going to find it anywhere. You can search for something that looks like an e-mail address by viewing the source code sent down to your browser, but this is probably going to be a waste of time.
Contact forms usually submit their data back to a web server, and the web server processes that data and sends the e-mail from that point. This operation is communication between the server and other computers, where your computer is no longer involved.