Envoi de mail, via API ou autre? Besoin de conseil

#1

Bonjour tout le monde :sunglasses:

Je suis actuellement occupé de développer une application pour un évènement.
Grossièrement, cette application prends des photos et à la fin de l’évènement, j’ai besoin d’envoyer toutes ces photos par mail (différentes adresse mail).

Que me conseillez-vous pour l’envoi de mail?

En sachant que:

  • Il risque d’y avoir beaucoup de mail à envoyer
  • J’ai besoin de pouvoir faire un petit peu de mise en page et de joindre un fichier au mail.

Et idéalement, j’aurai aussi besoin que les mails ne partent pas dans les spams directement (ça c’est la partie bonus :joy:).

:warning: Point important aussi, utiliser un service externe pour envoyer des photos ne me pose pas de problème, mais j’aimerai éviter les services un peu “sombre”, où l’on ne sait pas ce qu’ils font avec les photos par la suite…

J’ai pensé coder un petit backend + API moi même (mais pas vraiment l’envie, j’avoue).
Sinon, j’ai vu qu’il existait des services tels que https://www.mailgun.com pour l’envoi de mail via une API (j’ai pas encore creusé).

Une idée de comment je peux faire?
(J’aimerai ne pas passer trop de temps à développer quelque chose, surtout que ce n’est pas le corps de l’application (mais bon, en même temps, si personne ne reçoit les photos, c’est un peu dommage…))

Un grand merci d’avance pour vos avis et votre précieuse aide! :muscle:

Bonne soirée,

Alexandre

#2

Salut @Alexandre,

Mon avis personnel est que envoyer des photos par mail n’est pas une bonne idée car, envoyer une photo par mail est une chose mais, en envoyer plusieurs en est une autre sachant, que tu veut le faire pour un événement qui peut durer plusieurs heures voir jours, je pense que tu auras plusieurs dizaines voir centaines de photos donc, pour moi c’est tout bonnement impossible, tu auras un problème avec la taille de tes mails et en plus de ça, tu veut envoyer ça à plusieurs personnes.

Franchement laisse tomber cette idée, la meilleur solution est d’upload les photos vers un serveur puis, d’envoyer le lien de téléchargement ou de visualisation par mail.

Pour la mise en page de ton mail, tu devras la faire en HTML c’est le seul language qui permet de le faire, en tout cas à ma connaissance.

Pour ne pas être dans les spams, je te renvoie vers ce site : https://www.cakemail.com/blog/fr/guide-eviter-etre-considere-spam/

Et pour l’envoi du mail, je pense que iOS est capable de faire ça tout seul (MFMailComposeViewController), il faut lui transmettre le text avec le HTML ou non et faire une boucle avec la liste des personnes à qui faire l’envoi.

#3

Hello Alexandre,

Il y a bien des services comme Firebase qui sont capables de faire ça, notamment grâce à la partie Storage qui permet, au moment de l’upload d’une fichier (qui peut être une photo, une image) d’en créer les metadata associées, un id, une URL pour le téléchargement, etc.
Mais après, en termes de quantité et de montée en charge (par exemple si il y a plusieurs dizaines de personnes qui uploadent des photos en même temps), est-ce que le service tient ? Ça, je ne sais pas.

Pour l’envoi d’email ensuite, tu peux passer par Google Cloud Functions qui permet, via des fonctions NodeJS, d’envoyer notamment des emails selon un modèle bien défini.

Mais je rejoins aussi @anthonyfassler1 sur le fait que ce n’est pas simple comme développement.

#4

Merci @anthonyfassler1 et @schtipoun pour vos réponses :slightly_smiling_face:

Pas vraiment le choix que d’envoyer les photos par mail, ou éventuellement de les stocker sur un serveur et d’envoyer un lien de téléchargement, mais j’aimerai éviter de stocker ces images sur des serveurs (ça rajoute une étape pour que les gens reçoivent leurs photos).

Pour la mise en page, ce n’est pas un problème de le faire en HTML, c’est comme ça que j’ai fais pour mes tests, et c’est plutôt facile.

@anthonyfassler1 Merci pour le lien, je vais jeter un oeil :sunglasses:

Et pour l’envoi du mail, je pense que iOS est capable de faire ça tout seul (MFMailComposeViewController), il faut lui transmettre le text avec le HTML ou non et faire une boucle avec la liste des personnes à qui faire l’envoi.

Oui, mais non, dans le sens que iOS demande un “clic” par envoi de mail, il n’est pas possible d’envoyer 100 mails d’affiler sans devoir confirmer chaque mail individuellement (de ce que j’ai vu).
MFMailComposeViewController permet de présenter le mail dans la fenêtre d’envoi, mais pas de l’envoyer directement (c’est ce que j’ai utilisé pour mes tests).

@schtipoun Firebase pourrait être une idée, il faudrait que je creuse un peu sur les scripts NodeJS, même si ça rajouterai une couche de développement (que j’aimerai éviter, mais si pas le choix, j’y passerai).

Je vais continuer de creuser, il me reste une bonne vingtaine de jours pour trouver une solution :muscle:

Merci pour vos retours,

Bonne journée,

Alexandre

#5

@Alexandre Oui c’est vrai, Apple sécurise tout même l’envoi de mail qui ne peut être fait sans l’intervention de l’utilisateur donc, je me demande même si, tu peut contourner ça car si, tu le fait il faudras voir si, le service d’Apple autorise ton app car, tu peut envoyer des données sans le consentement de l’utilisateur et donc, niveau sécurité des données ça peut être dangereux.

Par contre, si tu fessait comme un réseau social genre faire une page sécuriser avec un mot de passe ou un ou plusieurs administrateur ou personnes autorisées prendre des photos et les upload sur le serveur et comme ça les personnes qui suive la page vois les photos en direct.

Tu peut même aller plus loin et mettre des notifications pour quand, il y a un événement très attendu dans l’événement comme par exemple, les mariés vont arriver ou les stripteaseuse :laughing:

#6

je me demande même si, tu peut contourner ça car si, tu le fait il faudras voir si, le service d’Apple autorise ton app car, tu peut envoyer des données sans le consentement de l’utilisateur et donc, niveau sécurité des données ça peut être dangereux.

L’application ne serait pas publiée sur le Store, c’est un peu particulier, mais elle serait déployée uniquement pour la durée de l’évènement sur quelques iPads. :slight_smile:

Le but étant que les personnes prennent une/plusieurs photo(s) d’eux (un genre de boîte photo), puis se les envois. Les photos seraient customisées pour l’évènement. Ce genre de trucs :slight_smile:

#7

Regarde bien les possibilités de Firebase alors car ce que tu décris peut être fait assez facilement. Ensuite, grâce aux functions en NodeJS (donc complètement serverless), tu peux programmer un envoi d’email instantanément quand une nouvelle photo est déposée.
Si tu veux, on pourra en parler plus longuement :slight_smile:

#8

Si tu as déjà fait quelque chose du même genre, j’avoue que je suis fort intéressé :slight_smile:
Je n’ai pas encore regardé plus que ça (merci la WWDC :joy:), mais faut que je m’y mette!

#9

Je ne l’ai jamais fait mais, dans ma tête, je vois bien comment ça peut s’articuler.
On peut se faire un Skype si tu veux ou autre à l’occasion.

#10

Avec plaisir :grin:
Bon, je n’ai pas Skype, mais on peut se trouver un autre moyen de communiquer vocalement :muscle:

#11

Quand tu veux, on peut s’échanger nos numéros de téléphones en message privé !