Les plats clés
- Swift Mailer est une bibliothèque puissante basée sur des composants qui permet aux programmeurs d'envoyer des e-mails facilement à l'aide d'une approche orientée objet, avec des exigences minimales de PHP 5.2 ou plus avec l'extension SPL et une limite de mémoire minimale de 8 Mo
- Swift Mailer peut être installé via Pear ou en téléchargeant les fichiers à l'aide d'un FTP. Il se compose de plus de 150 classes et interfaces, y compris le mailer, les transporteurs, les entités MIME, les encodeurs et les plugins.
- Swift Mailer fournit des fonctionnalités pour créer un e-mail avec plusieurs destinataires, un sujet et un corps en texte clair. Il permet également les pièces jointes, la configuration SMTP personnalisée et le suivi des destinataires qui ne re?oivent pas l'e-mail.
- Swift Mailer possède également un plugin de décorateur qui vous permet d'envoyer le même e-mail à plusieurs destinataires avec de petites différences, comme le nom du destinataire à l'intérieur du corps de messagerie. Ceci est bénéfique pour les taches comme l'envoi de newsletters aux abonnés.
pear channel-discover pear.swiftmailer.org pear install swift/swiftLa deuxième méthode est probablement la plus simple si vous êtes sur un hébergement partagé et que vous n'avez pas accès au shell de commande. Téléchargez simplement la bibliothèque sur le site officiel et téléchargez le dossier Lib.
La famille de cours Swift Mailer
Swift Mailer est composé de plus de 150 classes et interfaces regroupées en plusieurs composants. Chacun d'eux a un but spécifique.- Mailer: Le Mailer, qui est réalisé par la classe SWIFT_MAILER, est la classe centrale de la bibliothèque et celle qui envoie réellement l'e-mail via la méthode Send (). Son constructeur accepte une instance d'une classe qui implémente l'interface swift_transport qui vous permet d'envoyer un e-mail à l'aide d'un SMTP personnalisé
- Transporteurs: ils implémentent l'interface swift_transport et leur portée consiste à communiquer avec un service pour livrer un e-mail. Les classes principales sont SWIFT_SMTPTRANSPORT qui utilise le protocole SMTP, SWIFT_SENDMAILTRANSPORT qui communique avec un exécutable Sendmail local, et SWIFT_MAILTRANSPORT qui repose sur la fonction PHP Native Mail ().
- MIME Entités: Il s'agit d'un composant clé de la bibliothèque. La classe que vous utiliserez pour spécifier le récepteur, le sujet, le corps et ainsi de suite, appelé Swift_Message, est composé de plusieurs entités qui sont regroupées. Deux exemple d'entités sont les pièces jointes et l'en-tête de messagerie.
- Encodeurs: ce composant n'est pas quelque chose que vous allez gérer car il agit dans les coulisses. Il existe deux types d'encodeurs: Base64 et imprimé cité. Leur objectif est de transformer le contenu en un format conforme aux spécifications RFC.
- Plugins: ceux-ci sont utilisés pour étendre les fonctionnalités de base de Swift Mailer. Certains des plugins sont antiformes, ce qui vous permet de limiter le nombre de messages envoyés lors d'une seule connexion SMTP, enregistreur, utilisé pour enregistrer ce qui se passe pendant le processus d'envoi et le décorateur, un plugin incroyable qui vous permet d'utiliser un modèle de messagerie et changer quelques différences dans le texte de messagerie.
un exemple de base
Avec moi jusqu'à présent? Bien. Maintenant que vous avez une idée de la fa?on dont les composants sont organisés dans la bibliothèque, salissons nos mains et voyons comment profiter de la puissance et de la flexibilité de Swift Mailer. Dans cet premier exemple et très simple, je vais vous montrer la création d'un e-mail qui a deux destinataires, un sujet et un corps en texte clair. Une fois créé, il sera envoyé aux destinataires. Le code suivant utilise trois des classes mentionnées dans la section précédente: SWIFT_MAILTRANSPORT, SWIFT_MAILER et SWIFT_MESSAGE. En outre, notez la première ligne du code, le require_once qui attire l'autoloder de Swift Mailer qui est nécessaire pour utiliser la bibliothèque.pear channel-discover pear.swiftmailer.org pear install swift/swiftComme vous pouvez le voir, Swift_MailTransport est utilisé pour créer une instance d'une couche de transport qui utilisera la fonction PHP Mail () native. Puis j'ai créé un swift_message Instance que vous pouvez considérer comme l'objet e-mail. Dans les lignes suivantes, je définis les destinataires à l'aide de la méthode setTo (), le sujet e-mail à l'aide de setSubject (), le corps de messagerie à l'aide de setBody () et l'expéditeur à l'aide de la méthode setFrom (). Avec la couche définie et l'e-mail créé, il est temps d'envoyer réellement l'e-mail, ce qui est fait en utilisant la méthode Send () de la classe Swift_Mailer.
un exemple avec les pièces jointes
Il ne fait aucun doute que les pièces jointes sont un aliment de base des systèmes de messagerie d’aujourd’hui. Personne ne peut vivre sans eux. Cet exemple légèrement plus compliqué vous montrera comment envoyer un e-mail qui a non seulement une pièce jointe mais aussi d'autres fonctionnalités.- Deux récepteurs supplémentaires, un en CC et le second de BCC en utilisant SetCC () et SetBcc ().
- Une pièce jointe récupérée à partir du disque à l'aide de la méthode attachée ().
- Une configuration SMTP personnalisée à l'aide de la classe SWIFT_SMTPTRANSPORT.
- Sachez quels destinataires n'ont pas re?u l'e-mail en utilisant le deuxième paramètre de la méthode Send ().
pear channel-discover pear.swiftmailer.org pear install swift/swiftJ'ai utilisé une couche de transport différente, une SMTP qui est définie en utilisant la classe SWIFT_SMTPTRANSPORT. Il accepte deux paramètres: le serveur SMTP et le port de connexion. Vous utilisez l'instance pour définir un nom d'utilisateur et un mot de passe appropriés pour accéder au serveur à l'aide des méthodes SetUserName () et SetPassword (). Ensuite, tout comme le premier exemple, j'ai créé un objet Swift_Message et défini les destinataires, le sujet, etc. Cependant, cette fois, j'ai également profité du setcc () et du setBCC () Des méthodes qui, comme vous pouvez le deviner, vous permettent de définir des bénéficiaires de copie carbone et aveugle. La méthode clé de cet exemple est attach () qui joigne un fichier tiré du disque dur à l'aide de la méthode statique de FromPath () qui emmène le chemin vers le fichier que vous souhaitez attacher comme paramètre. Notez que cette fois, j'imprime également le nombre de destinataires défaillants récupérés à l'aide du deuxième paramètre de la méthode Send ().
en utilisant un modèle
Le troisième et dernier exemple vous montre comment utiliser le plugin décorateur, idéal pour des choses comme l'envoi de newsletters à vos abonnés. Il vous permet d'envoyer le même e-mail à plusieurs destinataires ayant de petites différences telles que le nom du destinataire dans le corps de l'e-mail. Le plugin sera à l'intérieur du modèle (le corps) et remplacera les espaces réservés par les valeurs définies. Pour utiliser le plugin, vous devez d'abord l'enregistrer à l'aide de la méthode RegisterPlugin (), puis créer et utiliser un tableau de valeurs de remplacement. Dans le code suivant, je mettrai deux espaces réservés, Nom d'utilisateur et Transactions , qui seront remplacés par programme par des valeurs faisant référence à l'e-mail de l'utilisateur.<span><span><?php </span></span><span><span>require_once 'lib/swift_required.php'; </span></span><span> </span><span><span>// Create the mail transport configuration </span></span><span><span>$transport = Swift_MailTransport<span>::</span>newInstance(); </span></span><span> </span><span><span>// Create the message </span></span><span><span>$message = Swift_Message<span>::</span>newInstance(); </span></span><span><span>$message->setTo(array( </span></span><span> <span>"hello@gmail.com" => "Aurelio De Rosa", </span></span><span> <span>"test@fake.com" => "Audero" </span></span><span><span>)); </span></span><span><span>$message->setSubject("This email is sent using Swift Mailer"); </span></span><span><span>$message->setBody("You're our best client ever."); </span></span><span><span>$message->setFrom("account@bank.com", "Your bank"); </span></span><span> </span><span><span>// Send the email </span></span><span><span>$mailer = Swift_Mailer<span>::</span>newInstance($transport); </span></span><span><span>$mailer->send($message);</span></span>Le constructeur du plugin décorateur accepte un paramètre: un tableau de valeurs pour remplacer les espaces réservés. Chaque valeur de ce tableau utilise l'e-mail de l'utilisateur pour sa clé et un sous-tableau qui contient des paires de remplacement d'espace réservé. C'est exactement l'objectif du tableau de remplacement $. Dans l'exemple ci-dessus, en tant qu'ensembles d'espaces d'espaces, j'ai utilisé une cha?ne à l'intérieur de deux supports (c'est-à-dire {FullName}) Mais vous pouvez utiliser ce que vous voulez. Cette fois, je n'ai pas défini tous les destinataires dans la même déclaration qu'avant et j'ai utilisé un pour Loop. Cela se fait parce que le plugin intercepte le processus d'envoi, lit l'e-mail du destinataire et remplace les espaces réservés en utilisant les valeurs du tableau de remplacement.
Conclusion
Dans cet article, j'ai montré comment vous pouvez facilement envoyer des e-mails à l'aide de Swift Mailer. Il s'agit d'une bibliothèque très puissante qui, comme vous l'avez vu, vous permet de faire beaucoup de choses en utilisant une approche OOP. Bien s?r, Swift Mailer a beaucoup d'autres méthodes et classes que je n'ai pas couvertes dans cet article. Vous pouvez les étudier dans la documentation officielle, mais cela devrait suffire à vous faire commencer à envoyer des e-mails sans tracas. Image via FotoliaLes questions fréquemment posées sur Swift Mailer
Comment puis-je installer Swift Mailer à l'aide du composer?
Swift Mailer peut être facilement installé à l'aide de Composer, un outil pour la gestion de la dépendance dans PHP. Pour installer Swift Mailer, vous devez faire installer le compositeur sur votre système. Une fois que le compositeur est installé, vous pouvez installer Swift Mailer en exécutant la commande suivante dans votre répertoire de projet: le compositeur nécessite "SwiftMailer / SwiftMailer: ^ 6.0". Cette commande indique au compositeur de télécharger le package Swift Mailer et ses dépendances dans votre projet.
Comment puis-je envoyer un e-mail avec Swift Mailer?
L'envoi d'un e-mail avec Swift Mailer implique la création d'un message, Configuration du mailer et envoi du message. Voici un exemple de base de la fa?on d'envoyer un e-mail avec Swift Mailer:
require_once '/path/to/vendor/autoload.php' ;
$Message = (new swift_message ()))
-> setSubject ('Hello')
-> setFrom (['John@doe.com' => 'John Doe'])
-> setTo (['receiver@domain.org', 'autre@domain.org' => 'un nom'])
-> setBody ('voici le message lui-même');
$ Transport = (new Swift_SmtpTransport ('Smtp.example.org', 25))
-> SetUsername ('votre nom d'utilisateur')
-> setPassword ('votre mot de passe');
$ Mailer = new Swift_Mailer ($ Transport);
$ result = $ Mailer-> Send ($ message);
Comment puis-je ajouter des pièces jointes à un e-mail avec Swift Mailer?
Swift Mailer vous permet d'ajouter des pièces jointes à vos e-mails. Vous pouvez joindre des fichiers à partir d'un chemin, d'une cha?ne ou d'une instance de pièce jointe Swift existante. Voici un exemple de comment joindre un fichier à partir d'un chemin:
$ message = (new swift_message ())
-> setSubject ('Bonjour')
-> setFrom (['John @ doe.com '=>' John Doe '])
-> setTo ([' receiver@domain.org '])
-> setBody (' Voici le message lui-même ')
-> attacher (swift_attachment :: frompath (' path / to / image.jpg '));
Comment puis-je envoyer des e-mails HTML avec Swift Mailer?
Swift Mailer vous permet d'envoyer des e-mails HTML en définissant le corps du message à une cha?ne HTML et en définissant le type de contenu à ?SMS / HTML?. Voici un exemple:
$ message = (new Swift_Message ())
-> setSubject ('Hello')
-> setFrom (['John@doe.com' => 'John Doe '])
-> setTo ([' receiver@domain.org '])
-> setbody ('
voici le html Message lui-même
',' text / html ');comment puis-je gérer les erreurs dans Swift Mailer?
Swift Mailer lance des exceptions lorsqu'une erreur se produit. Vous pouvez assister à ces exceptions pour gérer les erreurs. Voici un exemple:
essayez {
$ result = $ Mailer-> send ($ message);
} catch (swift_transportException $ e) {
echo 'Il y a eu une erreur pendant que Envoi de l'e-mail: '. $ e-> getMessage ();
}
comment puis-je utiliser Swift Mailer avec gmail?
Vous pouvez utiliser Swift Mailer avec Gmail en configurant le transport SMTP avec le serveur SMTP Gmail paramètres. Voici un exemple:
$ Transport = (new Swift_SmtpTransport ('smtp.gmail.com', 465, 'ssl'))
-> setUsername ('Votre nom d'utilisateur Gmail')
- - > setPassword ('Votre mot de passe gmail');
comment puis-je envoyer plusieurs e-mails avec Swift Mailer?
Vous pouvez envoyer plusieurs e-mails avec Swift Mailer en créant plusieurs instances de message et en les envoyant avec la même instance de Mailer. Voici un exemple:
$ message1 = (new Swift_Message ())
-> setSubject ('Hello')
-> setFrom (['John@doe.com' => 'John Doe '])
-> setTo ([' receiver1@domain.org '])
-> setBody (' Voici le message lui-même ');
$ message2 = (new Swift_Message ())
-> setSubject (' Hello ')
-> setFrom ([' John@doe.com '=>' John Doe '])
-> setTo ([' receiver2@domain.org '])
-> setBody (' Voici le message lui-même ');
$ result1 = $ Mailer-> Send ($ message1);
$ result2 = $ Mailer-> send ($ message2);
comment puis-je utiliser Swift Mailer avec Symfony?
Swift Mailer est intégré à Symfony et peut être utilisé comme service. Vous pouvez envoyer des e-mails avec Swift Mailer dans Symfony en obtenant le service Mailer et en l'utilisant pour envoyer un message. Voici un exemple:
$ message = (new Swift_Message ())
-> setSubject ('Hello')
-> setFrom (['John@doe.com' => 'John Doe '])
-> setTo ([' receiver@domain.org '])
-> setBody (' Voici le message lui-même ');
$ this-> get (' Mailer ') -> Envoyer ($ message);
comment puis-je définir la priorité d'un e-mail avec Swift Mailer?
Vous pouvez définir la priorité d'un e-mail avec Swift Mailer en appelant la méthode SetPriority sur l'instance de message. La priorité est un entier entre 1 (le plus élevé) et 5 (le plus bas). Voici un exemple:
$ message = (new Swift_Message ())
-> setSubject ('Hello')
-> setFrom (['John@doe.com' => 'John Doe '])
-> setTo ([' receiver@domain.org '])
-> setBody (' Voici le message lui-même ')
-> setPriority (1);
Comment puis-je envoyer des e-mails de manière asynchrone avec Swift Mailer?
Swift Mailer ne prend pas en charge les e-mails asynchrones envoyés de la bo?te. Cependant, vous pouvez y parvenir en utilisant une file d'attente de messages. Vous pouvez mettre en place des messages, puis les envoyer dans un processus distinct. Cela permet à votre application de continuer à traiter d'autres taches sans attendre que les e-mails soient envoyés.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

ToseCurelyHandleAuthentication andAuthorizationInPhp, suivitheSesteps: 1.AlwayShashPasswordSwithPassword_Hash () etverifyusingPassword_verify (), usePreparedStatementStopReventsQLendiject, andstoreSerDatain $ _SessionAfterLogin.2

Pour gérer en toute sécurité les téléchargements de fichiers dans PHP, le noyau consiste à vérifier les types de fichiers, à renommer les fichiers et à restreindre les autorisations. 1. Utilisez finfo_file () pour vérifier le type de mime réel, et seuls des types spécifiques tels que l'image / jpeg sont autorisés; 2. Utilisez Uniqid () pour générer des noms de fichiers aléatoires et les stocker dans le répertoire racine non Web; 3. Limiter la taille du fichier via les formulaires PHP.ini et HTML et définir les autorisations de répertoire sur 0755; 4. Utilisez Clamav pour scanner les logiciels malveillants pour améliorer la sécurité. Ces étapes empêchent efficacement les vulnérabilités de sécurité et garantissent que le processus de téléchargement de fichiers est s?r et fiable.

En PHP, la principale différence entre == et == est la rigueur de la vérification des types. == La conversion de type sera effectuée avant la comparaison, par exemple, 5 == "5" Renvoie True, et === Demande que la valeur et le type soient les mêmes avant que True sera renvoyé, par exemple, 5 === "5" Renvoie False. Dans les scénarios d'utilisation, === est plus sécurisé et doit être utilisé en premier, et == n'est utilisé que lorsque la conversion de type est requise.

Les méthodes d'utilisation des opérations mathématiques de base en PHP sont les suivantes: 1. Les signes d'addition prennent en charge les entiers et les nombres à virgule flottante, et peuvent également être utilisés pour les variables. Les numéros de cha?ne seront automatiquement convertis mais non recommandés en dépendances; 2. Les signes de soustraction utilisent - les signes, les variables sont les mêmes et la conversion de type est également applicable; 3. Les panneaux de multiplication utilisent * les panneaux, qui conviennent aux nombres et aux cha?nes similaires; 4. La division utilise / signes, qui doit éviter de diviser par zéro, et noter que le résultat peut être des nombres à virgule flottante; 5. Prendre les signes du module peut être utilisé pour juger des nombres impairs et uniformes, et lors du traitement des nombres négatifs, les signes restants sont cohérents avec le dividende. La clé pour utiliser correctement ces opérateurs est de s'assurer que les types de données sont clairs et que la situation limite est bien gérée.

Oui, PHP peut interagir avec les bases de données NoSQL comme MongoDB et Redis à travers des extensions ou des bibliothèques spécifiques. Tout d'abord, utilisez le pilote MongoDBPHP (installé via PECL ou Composer) pour créer des instances clients et faire fonctionner des bases de données et des collections, en prenant en charge l'insertion, la requête, l'agrégation et d'autres opérations; Deuxièmement, utilisez la bibliothèque Predis ou l'extension PHPREDIS pour vous connecter à Redis, effectuer des paramètres et des acquisitions de valeur clé, et recommander PHPredis pour des scénarios à haute performance, tandis que Predis est pratique pour un déploiement rapide; Les deux conviennent aux environnements de production et sont bien documentés.

TostayCurrentwithPhpDevelopments andBestPractices, suiventyewnewsources likephp.netandphpweekly, engagewithcommunitiesonforumums et conférences, keeptoolingupdated etgradualadoptnewfeatures, etreadorontruttetoopensourceprojects.

PhpBecamepopularforwebDevelopmentDuetoitSeaseOflearning, Samoussentegration withhtml, widespreadhostingsupport, andalargecosystemysteclustingframeworkslikeLaravelandcmsplateformeslikewordpress.itexcelSinlingFormSubMissions, ManagetingSeSeSessions, interactif, interactif

Tosetherighttimezoneinphp, usedate_default_timezone_set () Fonctionnellestartofyourscriptwithavalididentifiersuchas'america / new_york'.1.usedate_default_timezone_set () beforeanydate / timefunctions.20
