Envoyer un email de façon transparente

AliGatorAliGator Membre, Modérateur
juin 2009 modifié dans API UIKit #1
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 ?

Réponses

  • zoczoc Membre
    17:56 modifié #2
    dans 1244933106:
    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 ?

    Non, c'est exact, on ne peut pas accéder aux informations des comptes e-mail sur l'iPhone.

    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 ?

    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...
  • yodarkyodark Membre
    17:56 modifié #3
    Heureusement que tu ne peux pas récuperer les login mdp et autres des comptes mail de tes utilisateurs  B)

    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.

  • AliGatorAliGator Membre, Modérateur
    17:56 modifié #4
    Je ne cherchais pas à  récupérer les login/mdp des comptes mails ! Juste à  pouvoir envoyer un mail. Donc genre le serveur SMTP à  utiliser, mais pas besoin des mots de passe du compte POP ou IMAP pour la réception de mails, ça je n'en ai pas l'utilité. Donc intégrité conservée.

    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
Connectez-vous ou Inscrivez-vous pour répondre.