Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add the ability to store multipart/alternative messages #36

Open
wants to merge 10 commits into
base: 2.13.x
Choose a base branch
from

Commits on Nov 20, 2023

  1. Add the ability to store multipart/alternative messages

    This change adds the ability to properly parse messages where the
    content type is "multipart/alternative" into multiple Part objects.
    Previously, the "multipart/alternative" content-type header would be
    ignored, leaving alternative parts being rolled into one larger Part
    object.
    
    Signed-off-by: Matthew Setter <[email protected]>
    settermjd committed Nov 20, 2023
    Configuration menu
    Copy the full SHA
    1e3264c View commit details
    Browse the repository at this point in the history
  2. Update documentation

    This is a small change to correct some minor points in the related
    documentation.
    
    Signed-off-by: Matthew Setter <[email protected]>
    settermjd committed Nov 20, 2023
    Configuration menu
    Copy the full SHA
    b9b26d9 View commit details
    Browse the repository at this point in the history

Commits on Nov 23, 2023

  1. Use an existing constant instead of adding a new one

    I wasn't aware at the time that I created the previous commit with the
    constant, of the existence of a constant with the same value. So this
    commit removes my duplicate constant, replacing it with the existing
    one.
    
    Signed-off-by: Matthew Setter <[email protected]>
    settermjd committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    8c94034 View commit details
    Browse the repository at this point in the history
  2. Update src/Part.php

    Co-authored-by: Matthew Weier O'Phinney <[email protected]>
    Signed-off-by: Matthew Setter <[email protected]>
    settermjd and weierophinney committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    a808e7d View commit details
    Browse the repository at this point in the history
  3. Fix type hinting of the parts property

    As per @MWOP's suggestion, this change properly typehints the protected
    $parts property in Part to return an array of Part objects.
    
    Signed-off-by: Matthew Setter <[email protected]>
    settermjd committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    2012f86 View commit details
    Browse the repository at this point in the history
  4. Fix up code styling

    Signed-off-by: Matthew Setter <[email protected]>
    settermjd committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    ee273da View commit details
    Browse the repository at this point in the history
  5. Add further assertions when testing multipart alternative messages

    This change adds a series of assertions for attachments on
    multipart/alternative messages, to help verify that they contain what
    they're expected to contain. I felt that it was helpful to have
    assertions for attachments (or non text/HTML content) as well, so that
    more of the code could be properly tested.
    
    Signed-off-by: Matthew Setter <[email protected]>
    settermjd committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    06f3ab8 View commit details
    Browse the repository at this point in the history
  6. Remove domain-specific references

    These were originally used because it was a fairly generic email that I
    had at the time, while writing the tests. However, as per @MWOP's
    suggestion, it should be more generic (and not preference a given,
    commercial, email provider).
    
    Signed-off-by: Matthew Setter <[email protected]>
    settermjd committed Nov 23, 2023
    Configuration menu
    Copy the full SHA
    f67b0c0 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2023

  1. Set a Part filename if the part stores an attachment

    This change simplistically sets a Part's filename property if the
    content disposition header is set, it's an attachment, and the filename
    property is set. I've deliberately avoided any considerations about
    sanitising the filename, deciding, at this stage, to leave that to the
    calling code up the line.
    
    Signed-off-by: Matthew Setter <[email protected]>
    settermjd committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    93c2cd6 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. Correct a small bug in setting an attachment's filename

    Previously, the code only set a filename for a message part if the part
    contained a content-disposition header where the disposition type was
    set to "attachment" and the filename parameter was set. After re-reading
    https://www.w3.org/Protocols/HTTP/Issues/content-disposition.txt, I see
    that this was wrong, as the content-disposition header can have the
    filename parameter set if the type is attachment or inline.
    
    This commit corrects that earlier mistake.
    
    Signed-off-by: Matthew Setter <[email protected]>
    settermjd committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    6e7adfd View commit details
    Browse the repository at this point in the history