pop3mail v1.3.1 Pop3mail.FileStore View Source

Store header, messages and attachments on the filesystem.

Link to this section Summary

Functions

Convert a part’s content text from dos-format (with carriage return + linefeed after each line) to unix-format (with just the linefeed)

Construct a filename for an email message

get line seperator for text files. On windows/dos this is carriage return + linefeed, on other platforms it is just the linefeed

make directory. Returns created directory name full path

Remove characters which are undesirable for filesystems (like \ / : * ? “ < > | [ ] and control characters)

set default filename in the multipart_part

store one part of the body

Link to this section Functions

Convert a part’s content text from dos-format (with carriage return + linefeed after each line) to unix-format (with just the linefeed).

multipart_part - a Pop3mail.Part

Link to this function get_default_filename(media_type, charset, index) View Source
get_default_filename(String.t(), String.t(), integer()) :: String.t()

Construct a filename for an email message.

filename will be: ‘message’ . .

The default file extenstion for text/plain is .txt In other cases the last part of the media_type wil be used as extension.

Link to this function get_line_separator() View Source
get_line_separator() :: String.t()

get line seperator for text files. On windows/dos this is carriage return + linefeed, on other platforms it is just the linefeed.

Link to this function mkdir(base_dir, name, unsafe_addition) View Source
mkdir(String.t(), String.t(), binary()) :: String.t()

make directory. Returns created directory name full path.

directory is base_dir / name - unsafe_addition

unsafe_addition - append this to the directory name. It will be truncated at 45 characters. Unusual characters for the filesystem will be filtered out. If creating the directory with unsafe_addition fails, the directory will be created without it.

Link to this function remove_unwanted_chars(text, max_chars) View Source
remove_unwanted_chars(binary(), integer()) :: String.t()

Remove characters which are undesirable for filesystems (like \ / : * ? “ < > | [ ] and control characters)

Link to this function set_default_filename(multipart_part) View Source
set_default_filename(Pop3mail.Part.t()) :: Pop3mail.Part.t()

set default filename in the multipart_part.

Calls FileStore.get_default_filename to get the default filename.

multipart_part - a Pop3mail.Part

Link to this function store_mail_header(content, filename_prefix, unsafe_addition, dirname) View Source
store_mail_header(String.t(), String.t(), binary(), String.t()) ::
  {:ok, String.t()} | {:error, String.t(), String.t()}

Store mail header.

filename is filename_prefix . unsafe_addition . txt

unsafe_addition - append this to the filename. It will be truncated at 35 characters. Unusual characters for the filesystem will be filtered out. If storing with unsafe_addition fails, the file will be stored without it.

Link to this function store_part(multipart_part, base_dir) View Source
store_part(Pop3mail.Part.t(), String.t()) ::
  {:ok, String.t()} | {:error, String.t(), String.t()}

store one part of the body.

Text files (media types text/plain, text/html for example) will be converted from dos to unix format on non-windows platforms.

multipart_part - a Pop3mail.Part

Link to this function store_raw(mail_content, filename, dirname) View Source
store_raw(String.t(), String.t(), String.t()) ::
  {:ok, String.t()} | {:error, String.t(), String.t()}

store raw email