transport_deps.php 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. Swift_DependencyContainer::getInstance()
  3. ->register('transport.localdomain')
  4. // As SERVER_NAME can come from the user in certain configurations, check that
  5. // it does not contain forbidden characters (see RFC 952 and RFC 2181). Use
  6. // preg_replace() instead of preg_match() to prevent DoS attacks with long host names.
  7. ->asValue(!empty($_SERVER['SERVER_NAME']) && '' === preg_replace('/(?:^\[)?[a-zA-Z0-9-:\]_]+\.?/', '', $_SERVER['SERVER_NAME']) ? trim($_SERVER['SERVER_NAME'], '[]') : '127.0.0.1')
  8. ->register('transport.smtp')
  9. ->asNewInstanceOf('Swift_Transport_EsmtpTransport')
  10. ->withDependencies([
  11. 'transport.buffer',
  12. 'transport.smtphandlers',
  13. 'transport.eventdispatcher',
  14. 'transport.localdomain',
  15. 'address.idnaddressencoder',
  16. ])
  17. ->register('transport.sendmail')
  18. ->asNewInstanceOf('Swift_Transport_SendmailTransport')
  19. ->withDependencies([
  20. 'transport.buffer',
  21. 'transport.eventdispatcher',
  22. 'transport.localdomain',
  23. ])
  24. ->register('transport.loadbalanced')
  25. ->asNewInstanceOf('Swift_Transport_LoadBalancedTransport')
  26. ->register('transport.failover')
  27. ->asNewInstanceOf('Swift_Transport_FailoverTransport')
  28. ->register('transport.spool')
  29. ->asNewInstanceOf('Swift_Transport_SpoolTransport')
  30. ->withDependencies(['transport.eventdispatcher'])
  31. ->register('transport.null')
  32. ->asNewInstanceOf('Swift_Transport_NullTransport')
  33. ->withDependencies(['transport.eventdispatcher'])
  34. ->register('transport.buffer')
  35. ->asNewInstanceOf('Swift_Transport_StreamBuffer')
  36. ->withDependencies(['transport.replacementfactory'])
  37. ->register('transport.smtphandlers')
  38. ->asArray()
  39. ->withDependencies(['transport.authhandler'])
  40. ->register('transport.authhandler')
  41. ->asNewInstanceOf('Swift_Transport_Esmtp_AuthHandler')
  42. ->withDependencies(['transport.authhandlers'])
  43. ->register('transport.authhandlers')
  44. ->asArray()
  45. ->withDependencies([
  46. 'transport.crammd5auth',
  47. 'transport.loginauth',
  48. 'transport.plainauth',
  49. 'transport.ntlmauth',
  50. 'transport.xoauth2auth',
  51. ])
  52. ->register('transport.smtputf8handler')
  53. ->asNewInstanceOf('Swift_Transport_Esmtp_SmtpUtf8Handler')
  54. ->register('transport.8bitmimehandler')
  55. ->asNewInstanceOf('Swift_Transport_Esmtp_EightBitMimeHandler')
  56. ->addConstructorValue('8BITMIME')
  57. ->register('transport.crammd5auth')
  58. ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_CramMd5Authenticator')
  59. ->register('transport.loginauth')
  60. ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_LoginAuthenticator')
  61. ->register('transport.plainauth')
  62. ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_PlainAuthenticator')
  63. ->register('transport.xoauth2auth')
  64. ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_XOAuth2Authenticator')
  65. ->register('transport.ntlmauth')
  66. ->asNewInstanceOf('Swift_Transport_Esmtp_Auth_NTLMAuthenticator')
  67. ->register('transport.eventdispatcher')
  68. ->asNewInstanceOf('Swift_Events_SimpleEventDispatcher')
  69. ->register('transport.replacementfactory')
  70. ->asSharedInstanceOf('Swift_StreamFilters_StringReplacementFilterFactory')
  71. ->register('address.idnaddressencoder')
  72. ->asNewInstanceOf('Swift_AddressEncoder_IdnAddressEncoder')
  73. ->register('address.utf8addressencoder')
  74. ->asNewInstanceOf('Swift_AddressEncoder_Utf8AddressEncoder')
  75. ;