SwiftMailer может отправлять электронную почту с использованием внешних серверов.
Вот пример, который показывает, как использовать сервер Gmail:
require_once "lib/Swift.php";
require_once "lib/Swift/Connection/SMTP.php";
//Connect to localhost on port 25
$swift =& new Swift(new Swift_Connection_SMTP("localhost"));
//Connect to an IP address on a non-standard port
$swift =& new Swift(new Swift_Connection_SMTP("217.147.94.117", 419));
//Connect to Gmail (PHP5)
$swift = new Swift(new Swift_Connection_SMTP(
"smtp.gmail.com", Swift_Connection_SMTP::PORT_SECURE, Swift_Connection_SMTP::ENC_TLS));
Достаточно стабильный и достаточно быстрый, чтобы делать что?
Я уверен, что он будет иметь разные уровни стабильности и производительности в зависимости от того, что вы хотите сделать. Например, одному из моих модульных тестов протокольных буферов (который использует Rhino.Mocks) удается прервать работу виртуальной машины Mono с ошибкой утверждения, но я понятия не имею (в настоящее время) о том, повлияет ли это на что-то еще, что я делаю, или связано ли это только с используемой формой прокси.
Я предлагаю вам попробовать и посмотреть.
ASP.Net MVC теперь с открытым исходным кодом . То, что он теперь интегрирован в MonoDevelop через надстройку, предполагает, что у вас, вероятно, все заработает.
Учитывая очень новый статус этого, вы должны ожидать проблем. Этот блог должен стать для вас разумной отправной точкой .
Помните, что во многих учебных пособиях по ASP.Net MVC предполагается, что у вас есть серверная часть sql-сервера, это маловероятно (учитывая ваш вопрос), так что несите это в виду.
Вам придется судить об этом по признакам. У моего текущего клиента мы используем систему обработки и доставки больших объемов документов, написанную на .NET 3.5. У нас есть Linux-сервер, на котором работает Mono с .NET-компонентами, которые заботятся о доставке документов во внешний мир, например через FTP. Это отлично работает в производстве.
Мы действительно столкнулись с проблемой с реализацией Mono компонента FTP .NET, которая заставила нас искать другие компоненты .NET сторонних производителей, которые решили проблему. Так что вы можете столкнуться с такими вещами. Но в нашем случае: как только мы заставили его работать, он работал нормально и стабильно.