Can we specify a particular email client while using href=mailto? - html

Can we specify to use a particular email client while using
<a href="mailto...
In my system it opens Microsoft Outlook. But what if someone does not have Outlook on his system? On such systems clicking the mailto link does nothing.

No you can't. You can specify the email address, subject and some other parameters for the mail client. But which mail client is started is something the browser decides. It would be quite a security risk if you could decide that as a web developer.

It will open in the system's default email client. If the user does not have one selected, there's nothing you can do about it.

There is much more you can use, but each system will act differently, for example in mine, I set up that all mailto links would open GMail.
mailto is a call to open the default mail browser, like using a link in a windows application will open the default browser and not a special browser if you have more installed.
The best way is always to create a form and send it by, either using the web server internal SMTP or using one of so many free scripts out there that sends everything in the form to a specify email.
and by the way, you can compose more than just the email address
<a href="mailto:me#domain.com?subject=Call me&body=Call me to this number:">
call me</a>

You, as the site author, have no say. A mailto: link is supposed to launch the user's default mail program. Some users don't have a mail program though (think webmail users.)
The solution is to not use mailto: links but instead create a server-side form on your site, that does the actual mail sending.

On a Windows machine the [HKEY_CLASSES_ROOT\mailto\shell\open\command] contains the path to what program will open mailTo links. As such, it's not always the default mail program. I agree with Balexandre's idea that a web form gives you the most control though.

Related

Outlook modifies link for local images itself, how to prevent that?

I currently would like to send newsletters to all the people of a specific company.
For privacy and security reasons I'm forced to host all the newsletters on their own server, including the images, I can't put that content on a web server.
Because of that, all the URLS and images are network urls e.g
'file://nameOfTheServer.something.cool/newsletters/img.jpg'
However, I'm not on the same network, I send the newsletters from my office.
Because of that, I have the feeling that at the insertion of the emails, Outlook 2010 doesn't find the local urls and modifies it.
'file://nameoftheserver' becomes 'file:///\nameoftheserver', therefore, the image isn't displayed anymore once received by the people.
If I try to send the same e-mail with another e-mail adress, while being on the same network, this works, the urls aren't modified, and are still the same...
Any idea on a way I could solve it ?
Regards,
You have to change the format of URL address, it is very important to properly reference resources to be loaded from a web server, even if it is an intranet. As you mention you're using file:// but for this case you really must use http://, be aware that external links to resources (any that is not attached on same email message) can be blocked (in this case images) by email clients, antivirus software or even the email provider. Because of this, probably, people who read the email will get a warning about external content being loaded, and images won't show properly until the reader confirm to load the images from the external site (even intranet is considered an external one).
Maybe, you're wondering about some emails you received that shows images when opened and no warning is shown, It is because images are not being referenced from external sites, images are included inside email's body as attachment so it is a local reference which is considered "safe".

Is there any way to send a message to email in html

I am making a form right now and i have a bit of a problem. HTML doesn`t support mail-sendings without a downloaded email program. But is there maybe a way to not just send an email but send a message instead that can be converted to email? Is there any service out there that supports this idea? I know that PHP would be the solution, but i only have access to a HTML/CSS only server. Please help me out.
You could try using an iframe for this. But you would still have to get a php file. However, you will have to host it from somewhere else. Maybe google drive? Or smth like that.
Not as far as I know, but if the website user has Gmail binded to the "mailto:" protocol there's no need for an installed software, it will redirect him/her to Gmail with the email address of the recipient already filled in

HTML5 based cross platform mobile app?

Here My question is that i want to create one html5 based cross platform mobile application.
In which i want to read my gmail mail data and want to display it in my application page.
Here i don't want to send any mail using this app i just want to display the mail of my gmail account.I searched about it on google but i did not get any result for it.
if we make something like it then give me some information about it how to read data from gmail mail.If we can't do then please give me some reason for it or helpful links.
So if anyone have any idea about it then please help me.
Thanks in advance !..
Pure HTML 5 Alone
No. As the other answers point out, Gmail does not provide a RESTfull API that would be accessible to a HTML mobile app. However, Gmail does provide the standard IMAP and SMTP APIs. You can read all about integrating GMail features within apps here: https://developers.google.com/gmail/.
Pure HTML 5 With Middleware
Using pure mobile HTML5 cross platform code - you will not be able to make use of these APIs. However, you could write a server to act as a middleware between GMail and your pure HTML 5 application. The server could do all the interaction needed with Gmail, and your application could interface with the server. I'm not recommending this because you could be opening up your user's Gmail to many security flaws, and it would be a lot of extra work on top of the HTML5 app - but it is possible.
Mobile Chrome App
Although this is not pure HTML5 - Chrome Apps allow TCP socket connections. Having direct TCP connections would allow you to write - or find an existing - IMAP client to read email. Next, you could use Mobile Chrome Apps to put your chrome app on IOS and Android. This is not pure HTML5 and is not 100% cross platform (windows phone, etc), but you app would be able to directly talk to Gmail.
Platform Specific Apps
Of course the final option is to write platform-specific apps that can directly interface with IMAP & SMTP. This option does go directly against your requirements in the question, but I felt like it should be included to be a comprehensive answer.
Sorry, but you cannot create such Html5 based cross platform mobile app
(which seems like an email client, though used for reading purpose only). Google hasn't provided any Rest API through which we can access our gmail accounts. Link provided by #tnt, itself says in its last line:
Please keep in mind that Gmail messages will appear in your aggregator only if there are unread messages in your inbox.
You can even check the list of APIs provided by google: APIs Explorer
You can add a middleware (server) like:
Your application <--> Your server <--> Gmail
For this, you should have a server.
Create RESTful web services (using, WCF, for example) that will do your job of bring mails to you. Publish it. And, you can, then, use those service urls in your html pages. This the way you can achieve, what you want (making cross platform mail clients, I guess)..
My suggestion is to go with phonegap.I used it in which u can create apps in HTML5.Also since for gmail use gmail apis in html5.
The following link is for phonegap
http://phonegap.com/

html mailto: equivalent for sending an appointment request

I have a link which when clicked opens up your default email program. Is there a command that opens up a meeting request (i.e. with outlook) dialog?
could not post a screen shot because i don't have enough "reputation points" so hopefully my question is clear on its own.
If possible, try linking directly to an .ics or .vcs file.
mailto is a protocol, but there isn't an official protocol for calendars.
You could try the webcal protocol (i.e. webcal:calendar.example.com), but I don't know what browser support is like. Alternatively, link to a .ics or .vcs file.
Using Outlook Command-Line
While there is no protocol for a new calendar appointment, it's possible to run Outlook.exe from the command-line and have it start a new appointment with the following command-line switch:
outlook /c ipm.appointment
This opens a new appointment window:

Interop between html input type=file and java applet

I'm currently developing a web app where I make use of digital signing of forms using the portuguese citizen card and java applets.
Everything have been going smoothly with the regular forms until I reached a problem with inputs of type file. The app supports attachments so I created a separated attachment manager where the user can submit or review the attachments. When submitting it is necessary to be there two ways of doing it: normal upload or sign the file and then upload.
My first idea was to let the user select the file in the input type="file" and if he/she clicked on "sign and upload" it would launch a java applet to generate the signature to be putted in a hidden input. The problem lies in the security restrictions of html that makes the file chosen value inaccessible from javascript (which also denies access to the java applet) in some browsers.
I also thought of calculating the hash of the file to be signed on server side and then sign it on client side but that also isn't an option. The determination of the hash and it's signature must all be on client side (legal reasons).
Another idea was to use something like JUpload but it doesn't support some cases were the connection is over a SSL channel with client certificate (which can happen depending on how the login was made on the web app).
Lastly I even had this absurd idea of open the file on the applet, sign it and then store it on a hidden input in base64. Obviously this creates a huge constrain on file size.
So my question is: What is the best approach to this problem? Any suggestions?
Thanks in advance ;)
Obviously, it is impossible to access a file selected in browser from JS or Flash. So the only way is to use a trusted Java applet. It is not an elegant way, though. Also, if your users have client certificates - what is the reason to sign it, when the communication channel is encrypted??