123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- Introduction
- ============
-
- Swift Mailer is a component-based library for sending e-mails from PHP
- applications.
-
- Organization of this Book
- -------------------------
-
- This book has been written so that those who need information quickly are able
- to find what they need, and those who wish to learn more advanced topics can
- read deeper into each chapter.
-
- The book begins with an overview of Swift Mailer, discussing what's included
- in the package and preparing you for the remainder of the book.
-
- It is possible to read this user guide just like any other book (from
- beginning to end). Each chapter begins with a discussion of the contents it
- contains, followed by a short code sample designed to give you a head start.
- As you get further into a chapter you will learn more about Swift Mailer's
- capabilities, but often you will be able to head directly to the topic you
- wish to learn about.
-
- Throughout this book you will be presented with code samples, which most
- people should find ample to implement Swift Mailer appropriately in their own
- projects. We will also use diagrams where appropriate, and where we believe
- readers may find it helpful we will discuss some related theory, including
- reference to certain documents you are able to find online.
-
- Code Samples
- ------------
-
- Code samples presented in this book will be displayed on a different colored
- background in a monospaced font. Samples are not to be taken as copy & paste
- code snippets.
-
- Code examples are used through the book to clarify what is written in text.
- They will sometimes be usable as-is, but they should always be taken as
- outline/pseudo code only.
-
- A code sample will look like this::
-
- class AClass
- {
- ...
- }
-
- //A Comment
- $obj = new AClass($arg1, $arg2, ... );
-
- /* A note about another way of doing something
- $obj = AClass::newInstance($arg1, $arg2, ... );
-
- */
-
- The presence of 3 dots ``...`` in a code sample indicates that we have left
- out a chunk of the code for brevity, they are not actually part of the code.
-
- We will often place multi-line comments ``/* ... */`` in the code so that we
- can show alternative ways of achieving the same result.
-
- You should read the code examples given and try to understand them. They are
- kept concise so that you are not overwhelmed with information.
-
- History of Swift Mailer
- -----------------------
-
- Swift Mailer began back in 2005 as a one-class project for sending mail over
- SMTP. It has since grown into the flexible component-based library that is in
- development today.
-
- Chris Corbyn first posted Swift Mailer on a web forum asking for comments from
- other developers. It was never intended as a fully supported open source
- project, but members of the forum began to adopt it and make use of it.
-
- Very quickly feature requests were coming for the ability to add attachments
- and use SMTP authentication, along with a number of other "obvious" missing
- features. Considering the only alternative was PHPMailer it seemed like a good
- time to bring some fresh tools to the table. Chris began working towards a
- more component based, PHP5-like approach unlike the existing single-class,
- legacy PHP4 approach taken by PHPMailer.
-
- Members of the forum offered a lot of advice and critique on the code as he
- worked through this project and released versions 2 and 3 of the library in
- 2005 and 2006, which by then had been broken down into smaller classes
- offering more flexibility and supporting plugins. To this day the Swift Mailer
- team still receive a lot of feature requests from users both on the forum and
- in by email.
-
- Until 2008 Chris was the sole developer of Swift Mailer, but entering 2009 he
- gained the support of two experienced developers well-known to him: Paul
- Annesley and Christopher Thompson. This has been an extremely welcome change.
-
- As of September 2009, Chris handed over the maintenance of Swift Mailer to
- Fabien Potencier.
-
- Now 2009 and in its fourth major version Swift Mailer is more object-oriented
- and flexible than ever, both from a usability standpoint and from a
- development standpoint.
-
- By no means is Swift Mailer ready to call "finished". There are still many
- features that can be added to the library along with the constant refactoring
- that happens behind the scenes.
-
- It's a Library!
- ---------------
-
- Swift Mailer is not an application - it's a library.
-
- To most experienced developers this is probably an obvious point to make, but
- it's certainly worth mentioning. Many people often contact us having gotten
- the completely wrong end of the stick in terms of what Swift Mailer is
- actually for.
-
- It's not an application. It does not have a graphical user interface. It
- cannot be opened in your web browser directly.
-
- It's a library (or a framework if you like). It provides a whole lot of
- classes that do some very complicated things, so that you don't have to. You
- "use" Swift Mailer within an application so that your application can have the
- ability to send emails.
-
- The component-based structure of the library means that you are free to
- implement it in a number of different ways and that you can pick and choose
- what you want to use.
-
- An application on the other hand (such as a blog or a forum) is already "put
- together" in a particular way, (usually) provides a graphical user interface
- and most likely doesn't offer a great deal of integration with your own
- application.
-
- Embrace the structure of the library and use the components it offers to your
- advantage. Learning what the components do, rather than blindly copying and
- pasting existing code will put you in a great position to build a powerful
- application!
|