mime_deps.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. <?php
  2. require __DIR__.'/../mime_types.php';
  3. Swift_DependencyContainer::getInstance()
  4. ->register('properties.charset')
  5. ->asValue('utf-8')
  6. ->register('email.validator')
  7. ->asSharedInstanceOf('Egulias\EmailValidator\EmailValidator')
  8. ->register('mime.idgenerator.idright')
  9. // As SERVER_NAME can come from the user in certain configurations, check that
  10. // it does not contain forbidden characters (see RFC 952 and RFC 2181). Use
  11. // preg_replace() instead of preg_match() to prevent DoS attacks with long host names.
  12. ->asValue(!empty($_SERVER['SERVER_NAME']) && '' === preg_replace('/(?:^\[)?[a-zA-Z0-9-:\]_]+\.?/', '', $_SERVER['SERVER_NAME']) ? $_SERVER['SERVER_NAME'] : 'swift.generated')
  13. ->register('mime.idgenerator')
  14. ->asSharedInstanceOf('Swift_Mime_IdGenerator')
  15. ->withDependencies([
  16. 'mime.idgenerator.idright',
  17. ])
  18. ->register('mime.message')
  19. ->asNewInstanceOf('Swift_Mime_SimpleMessage')
  20. ->withDependencies([
  21. 'mime.headerset',
  22. 'mime.textcontentencoder',
  23. 'cache',
  24. 'mime.idgenerator',
  25. 'properties.charset',
  26. ])
  27. ->register('mime.part')
  28. ->asNewInstanceOf('Swift_Mime_MimePart')
  29. ->withDependencies([
  30. 'mime.headerset',
  31. 'mime.textcontentencoder',
  32. 'cache',
  33. 'mime.idgenerator',
  34. 'properties.charset',
  35. ])
  36. ->register('mime.attachment')
  37. ->asNewInstanceOf('Swift_Mime_Attachment')
  38. ->withDependencies([
  39. 'mime.headerset',
  40. 'mime.base64contentencoder',
  41. 'cache',
  42. 'mime.idgenerator',
  43. ])
  44. ->addConstructorValue($swift_mime_types)
  45. ->register('mime.embeddedfile')
  46. ->asNewInstanceOf('Swift_Mime_EmbeddedFile')
  47. ->withDependencies([
  48. 'mime.headerset',
  49. 'mime.base64contentencoder',
  50. 'cache',
  51. 'mime.idgenerator',
  52. ])
  53. ->addConstructorValue($swift_mime_types)
  54. ->register('mime.headerfactory')
  55. ->asNewInstanceOf('Swift_Mime_SimpleHeaderFactory')
  56. ->withDependencies([
  57. 'mime.qpheaderencoder',
  58. 'mime.rfc2231encoder',
  59. 'email.validator',
  60. 'properties.charset',
  61. 'address.idnaddressencoder',
  62. ])
  63. ->register('mime.headerset')
  64. ->asNewInstanceOf('Swift_Mime_SimpleHeaderSet')
  65. ->withDependencies(['mime.headerfactory', 'properties.charset'])
  66. ->register('mime.qpheaderencoder')
  67. ->asNewInstanceOf('Swift_Mime_HeaderEncoder_QpHeaderEncoder')
  68. ->withDependencies(['mime.charstream'])
  69. ->register('mime.base64headerencoder')
  70. ->asNewInstanceOf('Swift_Mime_HeaderEncoder_Base64HeaderEncoder')
  71. ->withDependencies(['mime.charstream'])
  72. ->register('mime.charstream')
  73. ->asNewInstanceOf('Swift_CharacterStream_NgCharacterStream')
  74. ->withDependencies(['mime.characterreaderfactory', 'properties.charset'])
  75. ->register('mime.bytecanonicalizer')
  76. ->asSharedInstanceOf('Swift_StreamFilters_ByteArrayReplacementFilter')
  77. ->addConstructorValue([[0x0D, 0x0A], [0x0D], [0x0A]])
  78. ->addConstructorValue([[0x0A], [0x0A], [0x0D, 0x0A]])
  79. ->register('mime.characterreaderfactory')
  80. ->asSharedInstanceOf('Swift_CharacterReaderFactory_SimpleCharacterReaderFactory')
  81. ->register('mime.textcontentencoder')
  82. ->asAliasOf('mime.qpcontentencoder')
  83. ->register('mime.safeqpcontentencoder')
  84. ->asNewInstanceOf('Swift_Mime_ContentEncoder_QpContentEncoder')
  85. ->withDependencies(['mime.charstream', 'mime.bytecanonicalizer'])
  86. ->register('mime.rawcontentencoder')
  87. ->asNewInstanceOf('Swift_Mime_ContentEncoder_RawContentEncoder')
  88. ->register('mime.nativeqpcontentencoder')
  89. ->withDependencies(['properties.charset'])
  90. ->asNewInstanceOf('Swift_Mime_ContentEncoder_NativeQpContentEncoder')
  91. ->register('mime.qpcontentencoder')
  92. ->asNewInstanceOf('Swift_Mime_ContentEncoder_QpContentEncoderProxy')
  93. ->withDependencies(['mime.safeqpcontentencoder', 'mime.nativeqpcontentencoder', 'properties.charset'])
  94. ->register('mime.7bitcontentencoder')
  95. ->asNewInstanceOf('Swift_Mime_ContentEncoder_PlainContentEncoder')
  96. ->addConstructorValue('7bit')
  97. ->addConstructorValue(true)
  98. ->register('mime.8bitcontentencoder')
  99. ->asNewInstanceOf('Swift_Mime_ContentEncoder_PlainContentEncoder')
  100. ->addConstructorValue('8bit')
  101. ->addConstructorValue(true)
  102. ->register('mime.base64contentencoder')
  103. ->asSharedInstanceOf('Swift_Mime_ContentEncoder_Base64ContentEncoder')
  104. ->register('mime.rfc2231encoder')
  105. ->asNewInstanceOf('Swift_Encoder_Rfc2231Encoder')
  106. ->withDependencies(['mime.charstream'])
  107. ;
  108. unset($swift_mime_types);