2014-09-03 4 views
0

Je suis un peu confus sur la façon dont cela fonctionne en envoyant des courriels à l'aide d'un serveur SMTP externe avec des pièces jointes. Disons que j'ai un formulaire de contact sur mon site Web qui permet le téléchargement de pièces jointes, et que j'utilise un serveur SMTP externe, comme Amazon SES ou Gmail.Envoyer des pièces jointes à l'aide d'un serveur SMTP

Est-ce que le fichier doit d'abord être téléchargé sur mon serveur, puis je pointe la pièce jointe à ce chemin de fichier, ou est-il converti en base64 et envoyé dans le corps du SMTP?

Question: Est-ce que le fichier sont envoyés directement ou faut-il d'abord besoin d'être téléchargé sur mon serveur?

+1

Chaque fois que vous utilisez un téléchargement de fichier et que vous le publiez sur le serveur, il est téléchargé dans un répertoire temporaire, généralement '/ var/tmp' sur les systèmes basés sur Unix. Je suggérerais d'utiliser un framework de messagerie pour le courrier SMTP sous Unix, comme PHPMailer, car cela fait un très bon travail de gestion de la connexion socket, et supporte l'envoi de pièces jointes. La pièce jointe peut être envoyée directement depuis le répertoire tmp. –

Répondre

3
  1. Le navigateur doit envoyer une requête HTTP au serveur HTTP avec le fichier incorporé.
  2. Le serveur HTTP lit la requête et la transmet à PHP.
  3. PHP lit la requête et extrait le fichier de celui-ci (en raison de la façon dont PHP est mis en œuvre, cela implique le stockage comme un fichier temporaire qui sera supprimé après le programme PHP finit en cours d'exécution)
  4. Votre programme PHP doit lire les données à partir du fichier et l'intégrer dans l'e-mail comme pièce jointe
  5. le message résultant (y compris la pièce jointe) est passé au-dessus SMTP

il n'y a pas besoin de magasin le fichier sur le serveur .

+0

Ok, donc il doit être déplacé sur mon serveur, mais seulement temporairement. Super, merci. –

Questions connexes