2010-02-15 7 views
3

Je cherche un moyen de lire les messages d'une application PHP, y compris l'accès aux pièces jointes, etc. Les fonctions imap ne sont pas acceptables en tant que solution, car cette application traitera les mails avec des pièces jointes lourdes.lire le courrier de PHP

J'ai un accès complet au dossier de messagerie du serveur à partir de PHP via le système de fichiers. Des pensées?

+0

"que cette application se chargera de mails avec des pièces jointes lourdes." Pour moi, c'est votre problème. Le courrier électronique n'est pas conçu pour les transferts de fichiers volumineux, même s'il peut être difficile de le faire. Pourquoi ne pas regarder d'une autre façon d'obtenir les fichiers sur le serveur? – micmcg

+0

Eh bien, c'est plus ou moins une exigence du projet - de «wrangle» le courrier de cette manière, donc c'est ma ligne de base, pas question. –

Répondre

1

Je pense que vous pourriez utiliser une combinaison des paquets Pear Mail_Mbox et Mail_mimeDecode. Utilisez Mail_Mbox pour lire les nouveaux messages depuis la boîte de réception, un message à la fois, et utilisez Mail_mimeDecode pour extraire les pièces jointes. Tout cela sera fait sans IMAP. Vous pouvez ensuite enregistrer les messages lus dans une autre mbox pour garder la boîte de réception propre.

Pear - Mail_Mbox
Pear - Mail_MimeDecode

+0

merci, c'est un bon pointeur. Une question cependant, comment puis-je savoir que mes boîtes aux lettres sont en effet des MBOX Unix? –

+0

Hey Nir, viens de le voir. Le seul moyen est d'accéder au serveur et de voir comment votre courrier est stocké (ou demandez à l'administrateur). Si elle est livrée à un compte local sur la boîte, ce sera soit un répertoire mail, soit une mbox. S'il est stocké dans un compte accessible via IMAP, il peut être dans une variété de formats, et le serveur Web peut ne pas être autorisé à le modifier. La meilleure chose que vous pouvez faire est de demander à l'administrateur du serveur comment il est stocké. – Jay

0

J'ai eu une question comme ça il y a quelque temps. Voir si l'une des réponses que vous aider: How to get email and their attachments from PHP

postfix + maildrop était la solution que je fini par prendre, achemine les e-mails par un script PHP quand il arrive et dans mon cas, le PHP fait quelque chose avec la pièce jointe . Mais j'avais seulement besoin de lire chaque email une fois. Si vous devez être en mesure de parcourir tous les emails, vous devez soit stocker les résultats de maildrop ou trouver une autre solution.

Si vous avez besoin d'un accès complet à tous les emails, POP et IMAP sont des choix populaires car ils fonctionnent. Je ne sais pas pourquoi tu es contre eux.

+0

Je suis contre le, comme vous le dites, car ils sont tous les deux ** protocoles ** ce qui signifie le trafic. cela ne semble pas très bien quand le serveur web et le serveur de messagerie sont sur le même système de fichiers, ce serait juste un gaspillage, dans mon esprit. Corrige moi si je me trompe. –

+0

également, après quelques vérifications, l'hôte ne semble pas exécuter postfix ou maildrop, mais je ne peux pas vraiment être sûr. –

+0

Vous ne vous trompez pas, mais passer par des couches d'abstraction comme IMAP signifie que vous pouvez gérer votre courrier de manière beaucoup plus saine, ce qui vous permet d'économiser du temps de développement. maildrop vous permettra d'accéder au "bare-metal", mais uniquement pour les nouveaux emails entrants. – Oli