bug46918.phpt 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. --TEST--
  2. Bug #46918 (imap_rfc822_parse_adrlist host part not filled in correctly)
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("imap")) {
  6. die("skip imap extension not available");
  7. }
  8. ?>
  9. --FILE--
  10. <?php
  11. $adds = 'ian eiloart <iane@example.ac.uk>,
  12. shuf6@example.ac.uk,
  13. blobby,
  14. "ian,eiloart"<ian@example.ac.uk>,
  15. <@example.com:foo@example.ac.uk>,
  16. foo@#,
  17. ian@-example.com,
  18. ian@one@two';
  19. $add_arr = imap_rfc822_parse_adrlist($adds, 'example.com');
  20. var_export($add_arr);
  21. ?>
  22. --EXPECT--
  23. array (
  24. 0 =>
  25. stdClass::__set_state(array(
  26. 'mailbox' => 'iane',
  27. 'host' => 'example.ac.uk',
  28. 'personal' => 'ian eiloart',
  29. )),
  30. 1 =>
  31. stdClass::__set_state(array(
  32. 'mailbox' => 'shuf6',
  33. 'host' => 'example.ac.uk',
  34. )),
  35. 2 =>
  36. stdClass::__set_state(array(
  37. 'mailbox' => 'blobby',
  38. 'host' => 'example.com',
  39. )),
  40. 3 =>
  41. stdClass::__set_state(array(
  42. 'mailbox' => 'ian',
  43. 'host' => 'example.ac.uk',
  44. 'personal' => 'ian,eiloart',
  45. )),
  46. 4 =>
  47. stdClass::__set_state(array(
  48. 'mailbox' => 'foo',
  49. 'host' => 'example.ac.uk',
  50. 'adl' => '@example.com',
  51. )),
  52. 5 =>
  53. stdClass::__set_state(array(
  54. 'mailbox' => 'foo',
  55. 'host' => '#',
  56. )),
  57. 6 =>
  58. stdClass::__set_state(array(
  59. 'mailbox' => 'ian',
  60. 'host' => '-example.com',
  61. )),
  62. 7 =>
  63. stdClass::__set_state(array(
  64. 'mailbox' => 'ian',
  65. 'host' => 'one',
  66. )),
  67. 8 =>
  68. stdClass::__set_state(array(
  69. 'mailbox' => 'UNEXPECTED_DATA_AFTER_ADDRESS',
  70. 'host' => '.SYNTAX-ERROR.',
  71. )),
  72. )
  73. Notice: Unknown: Unexpected characters at end of address: @two (errflg=3) in Unknown on line 0