Envoyer un email de façon transparente
Bonsoir à tous,
Pour une appli d'un client qui est sensée utiliser une "API mail" pour communiquer avec un service (envoi d'un mail à une adresse mail spécifique pour poster de nouvelles données ou faire effectuer des actions au serveur, etc), j'aurais besoin de faire envoyer des mails à mon application.
Le problème c'est que j'aimerai éviter d'avoir l'interface de l'application "Mail" qui s'affiche (genre en utilisant le scheme "mailto:" pour envoyer le mail tel qu'on peut faire classiquement) et que l'utilisateur aie à cliquer sur "Envoyer" pour faire partir le mail... d'autant que :
- l'utilisateur en question n'est pas sensé savoir que c'est une API mail sous le capot, lui ce qu'il demande c'est juste d'effectuer telle ou telle action au serveur
- en plus dans certains use-cases je dois envoyer des pièces-jointes (une image en fait) dans le mail... et là "mailto:" ne peut pas trop m'aider...
J'avais pensé comme solution pour attaquer cette API mail du service d'envoyer donc moi-même l'email (ouvrir un socket et envoyer les données que j'aurais formattées moi-même d'après le protocole mail officiel)... ça se fait très bien... mais encore faut-il avoir les informations de l'email de l'expéditeur (From) et surtout les réglages SMTP (serveur SMTP, login et mdp s'il nécessite une authentification, mode sécurisé (TLS) ou pas, ...).
Or je n'ai pas l'impression que l'on puisse récupérer les informations de Mail (comptes, serveurs d'envoi...) depuis une appli iPhone extérieure pour avoir directement ces réglages d'adresse mail principale et de serveur SMTP... me trompe-je ?
Du coup si je veux envoyer mon email de façon transparente pour piloter mon serveur avec cette API... je fais comment ? des idées ?
Pour une appli d'un client qui est sensée utiliser une "API mail" pour communiquer avec un service (envoi d'un mail à une adresse mail spécifique pour poster de nouvelles données ou faire effectuer des actions au serveur, etc), j'aurais besoin de faire envoyer des mails à mon application.
Le problème c'est que j'aimerai éviter d'avoir l'interface de l'application "Mail" qui s'affiche (genre en utilisant le scheme "mailto:" pour envoyer le mail tel qu'on peut faire classiquement) et que l'utilisateur aie à cliquer sur "Envoyer" pour faire partir le mail... d'autant que :
- l'utilisateur en question n'est pas sensé savoir que c'est une API mail sous le capot, lui ce qu'il demande c'est juste d'effectuer telle ou telle action au serveur
- en plus dans certains use-cases je dois envoyer des pièces-jointes (une image en fait) dans le mail... et là "mailto:" ne peut pas trop m'aider...
J'avais pensé comme solution pour attaquer cette API mail du service d'envoyer donc moi-même l'email (ouvrir un socket et envoyer les données que j'aurais formattées moi-même d'après le protocole mail officiel)... ça se fait très bien... mais encore faut-il avoir les informations de l'email de l'expéditeur (From) et surtout les réglages SMTP (serveur SMTP, login et mdp s'il nécessite une authentification, mode sécurisé (TLS) ou pas, ...).
Or je n'ai pas l'impression que l'on puisse récupérer les informations de Mail (comptes, serveurs d'envoi...) depuis une appli iPhone extérieure pour avoir directement ces réglages d'adresse mail principale et de serveur SMTP... me trompe-je ?
Du coup si je veux envoyer mon email de façon transparente pour piloter mon serveur avec cette API... je fais comment ? des idées ?
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Non, c'est exact, on ne peut pas accéder aux informations des comptes e-mail sur l'iPhone.
Je ne vois pas trop. Même le framework MessageUI du firmware 3.0 ne permet pas de le faire, l'utilisateur étant obligé de valider le contenu des mails avant l'envoi...
La meilleur façon est de faire envoyer le mail par ton serveur. En PHP par exemple http://www.destrucsaweb.com/ressources/phpmyannu/goto_47.php
Pour ce qui est du "from" tu peux promter l'utilisateur de saisir son adresse mail afin de renseigner ce champ.
Ceci dit de toute façon j'ai déjà adopté finalement justement une solution déportée serveur, c'est d'ailleurs la première chose que j'ai proposé au client quand il m'a annoncé qu'il avait une API email (et pas un webservice comme je le pensait au début). Et ça je sais faire y'a pas de soucis :P Donc abandon de la solution d'envoi de mails direct depuis l'iPhone de façon transparente de toute façon c'est pas possible :P