mirror of https://github.com/itflow-org/itflow
Tidy PHP Mime Mail parse
This commit is contained in:
parent
e6cc458b1c
commit
9f2c8bb4ba
Binary file not shown.
|
|
@ -1,63 +0,0 @@
|
||||||
name: CI
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
|
|
||||||
tests:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
php: [8.0, 8.1, 8.2]
|
|
||||||
dependency-version: [prefer-lowest, prefer-stable]
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: shivammathur/setup-php@v2
|
|
||||||
with:
|
|
||||||
php-version: ${{ matrix.php }}
|
|
||||||
extensions: mailparse
|
|
||||||
coverage: none
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction --no-suggest --no-progress
|
|
||||||
|
|
||||||
- name: Execute tests
|
|
||||||
run: vendor/bin/phpunit
|
|
||||||
|
|
||||||
php-cs:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: composer update --no-progress --ignore-platform-reqs
|
|
||||||
|
|
||||||
- name: Execute phpcs
|
|
||||||
run: vendor/bin/phpcs src tests --standard=psr2
|
|
||||||
|
|
||||||
coverage:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: shivammathur/setup-php@v2
|
|
||||||
with:
|
|
||||||
php-version: 8.0
|
|
||||||
extensions: mailparse
|
|
||||||
|
|
||||||
- name: Install dependencies
|
|
||||||
run: composer update --prefer-dist --no-interaction --no-suggest --no-progress
|
|
||||||
|
|
||||||
- name: Execute code coverage
|
|
||||||
run: |
|
|
||||||
vendor/bin/phpunit --coverage-clover=coverage.xml --whitelist src
|
|
||||||
bash <(curl -s https://codecov.io/bash) -t ${{ secrets.COVERALLS_REPO_TOKEN }}
|
|
||||||
|
|
@ -1,21 +0,0 @@
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2016 Vincent Dauce
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
|
|
@ -1,257 +0,0 @@
|
||||||
# php-mime-mail-parser
|
|
||||||
|
|
||||||
A fully tested email parser for PHP 8.0+ (mailparse extension wrapper).
|
|
||||||
|
|
||||||
It's the most effective php email parser around in terms of performance, foreign character encoding, attachment handling, and ease of use.
|
|
||||||
Internet Message Format RFC [822](https://tools.ietf.org/html/rfc822), [2822](https://tools.ietf.org/html/rfc2822), [5322](https://tools.ietf.org/html/rfc5322).
|
|
||||||
|
|
||||||
[](https://github.com/php-mime-mail-parser/php-mime-mail-parser/releases)
|
|
||||||
[](https://packagist.org/packages/php-mime-mail-parser/php-mime-mail-parser)
|
|
||||||
[](LICENSE)
|
|
||||||
|
|
||||||
## Why?
|
|
||||||
|
|
||||||
This extension can be used to...
|
|
||||||
* Parse and read email from Postfix
|
|
||||||
* For reading messages (Filename extension: eml)
|
|
||||||
* Create webmail
|
|
||||||
* Store email information such a subject, HTML body, attachments, and etc. into a database
|
|
||||||
|
|
||||||
## Is it reliable?
|
|
||||||
|
|
||||||
Yes. All known issues have been reproduced, fixed and tested.
|
|
||||||
|
|
||||||
We use GitHub Actions, Codecov, Codacy to help ensure code quality. You can see real-time statistics below:
|
|
||||||
|
|
||||||
[](https://github.com/php-mime-mail-parser/php-mime-mail-parser/actions/workflows/main.yml)
|
|
||||||
[](https://codecov.io/gh/php-mime-mail-parser/php-mime-mail-parser)
|
|
||||||
[](https://www.codacy.com/gh/php-mime-mail-parser/php-mime-mail-parser/dashboard?utm_source=github.com&utm_medium=referral&utm_content=php-mime-mail-parser/php-mime-mail-parser&utm_campaign=Badge_Grade)
|
|
||||||
|
|
||||||
## How do I install it?
|
|
||||||
|
|
||||||
The easiest way is via [Composer](https://getcomposer.org/).
|
|
||||||
|
|
||||||
To install the latest version of PHP MIME Mail Parser, run the command below:
|
|
||||||
|
|
||||||
composer require php-mime-mail-parser/php-mime-mail-parser
|
|
||||||
|
|
||||||
## Requirements
|
|
||||||
|
|
||||||
The following versions of PHP are supported:
|
|
||||||
|
|
||||||
* PHP 8.0
|
|
||||||
* PHP 8.1
|
|
||||||
* PHP 8.2
|
|
||||||
|
|
||||||
Previous Versions:
|
|
||||||
|
|
||||||
| PHP Compatibility | Version |
|
|
||||||
|-------------------|-----------------------------|
|
|
||||||
| HHVM | php-mime-mail-parser 2.11.1 |
|
|
||||||
| PHP 5.4 | php-mime-mail-parser 2.11.1 |
|
|
||||||
| PHP 5.5 | php-mime-mail-parser 2.11.1 |
|
|
||||||
| PHP 5.6 | php-mime-mail-parser 3.0.4 |
|
|
||||||
| PHP 7.0 | php-mime-mail-parser 3.0.4 |
|
|
||||||
| PHP 7.1 | php-mime-mail-parser 5.0.5 |
|
|
||||||
| PHP 7.2 | php-mime-mail-parser 7.1.2 |
|
|
||||||
| PHP 7.3 | php-mime-mail-parser 7.1.2 |
|
|
||||||
| PHP 7.4 | php-mime-mail-parser 7.1.2 |
|
|
||||||
|
|
||||||
Make sure you have the mailparse extension (http://php.net/manual/en/book.mailparse.php) properly installed. The command line `php -m | grep mailparse` need to return "mailparse".
|
|
||||||
|
|
||||||
|
|
||||||
### Install mailparse extension
|
|
||||||
|
|
||||||
#### Ubuntu, Debian & derivatives
|
|
||||||
```
|
|
||||||
sudo apt install php-cli php-mailparse
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Others platforms
|
|
||||||
```
|
|
||||||
sudo apt install php-cli php-pear php-dev php-mbstring
|
|
||||||
pecl install mailparse
|
|
||||||
```
|
|
||||||
|
|
||||||
#### From source
|
|
||||||
|
|
||||||
AAAAMMDD should be `php-config --extension-dir`
|
|
||||||
```
|
|
||||||
git clone https://github.com/php/pecl-mail-mailparse.git
|
|
||||||
cd pecl-mail-mailparse
|
|
||||||
phpize
|
|
||||||
./configure
|
|
||||||
sed -i 's/#if\s!HAVE_MBSTRING/#ifndef MBFL_MBFILTER_H/' ./mailparse.c
|
|
||||||
make
|
|
||||||
sudo mv modules/mailparse.so /usr/lib/php/AAAAMMDD/
|
|
||||||
echo "extension=mailparse.so" | sudo tee /etc/php/7.1/mods-available/mailparse.ini
|
|
||||||
sudo phpenmod mailparse
|
|
||||||
```
|
|
||||||
|
|
||||||
#### Windows
|
|
||||||
You need to download mailparse DLL from http://pecl.php.net/package/mailparse and add the line "extension=php_mailparse.dll" to php.ini accordingly.
|
|
||||||
|
|
||||||
## How do I use it?
|
|
||||||
|
|
||||||
### Loading an email
|
|
||||||
|
|
||||||
You can load an email with 4 differents ways. You only need to use one of the following four.
|
|
||||||
|
|
||||||
```php
|
|
||||||
require_once __DIR__.'/vendor/autoload.php';
|
|
||||||
|
|
||||||
$path = 'path/to/email.eml';
|
|
||||||
$parser = new PhpMimeMailParser\Parser();
|
|
||||||
|
|
||||||
// 1. Specify a file path (string)
|
|
||||||
$parser->setPath($path);
|
|
||||||
|
|
||||||
// 2. Specify the raw mime mail text (string)
|
|
||||||
$parser->setText(file_get_contents($path));
|
|
||||||
|
|
||||||
// 3. Specify a php file resource (stream)
|
|
||||||
$parser->setStream(fopen($path, "r"));
|
|
||||||
|
|
||||||
// 4. Specify a stream to work with mail server (stream)
|
|
||||||
$parser->setStream(fopen("php://stdin", "r"));
|
|
||||||
```
|
|
||||||
|
|
||||||
### Get the metadata of the message
|
|
||||||
|
|
||||||
Get the sender and the receiver:
|
|
||||||
|
|
||||||
```php
|
|
||||||
$rawHeaderTo = $parser->getHeader('to');
|
|
||||||
// return "test" <test@example.com>, "test2" <test2@example.com>
|
|
||||||
|
|
||||||
$arrayHeaderTo = $parser->getAddresses('to');
|
|
||||||
// return [["display"=>"test", "address"=>"test@example.com", false]]
|
|
||||||
|
|
||||||
$rawHeaderFrom = $parser->getHeader('from');
|
|
||||||
// return "test" <test@example.com>
|
|
||||||
|
|
||||||
$arrayHeaderFrom = $parser->getAddresses('from');
|
|
||||||
// return [["display"=>"test", "address"=>"test@example.com", "is_group"=>false]]
|
|
||||||
```
|
|
||||||
|
|
||||||
Get the subject:
|
|
||||||
|
|
||||||
```php
|
|
||||||
$subject = $parser->getHeader('subject');
|
|
||||||
```
|
|
||||||
|
|
||||||
Get other headers:
|
|
||||||
|
|
||||||
```php
|
|
||||||
$stringHeaders = $parser->getHeadersRaw();
|
|
||||||
// return all headers as a string, no charset conversion
|
|
||||||
|
|
||||||
$arrayHeaders = $parser->getHeaders();
|
|
||||||
// return all headers as an array, with charset conversion
|
|
||||||
```
|
|
||||||
|
|
||||||
### Get the body of the message
|
|
||||||
|
|
||||||
```php
|
|
||||||
$text = $parser->getMessageBody('text');
|
|
||||||
// return the text version
|
|
||||||
|
|
||||||
$html = $parser->getMessageBody('html');
|
|
||||||
// return the html version
|
|
||||||
|
|
||||||
$htmlEmbedded = $parser->getMessageBody('htmlEmbedded');
|
|
||||||
// return the html version with the embedded contents like images
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### Get attachments
|
|
||||||
|
|
||||||
Save all attachments in a directory
|
|
||||||
|
|
||||||
```php
|
|
||||||
$parser->saveAttachments('/path/to/save/attachments/');
|
|
||||||
// return all attachments saved in the directory (include inline attachments)
|
|
||||||
|
|
||||||
$parser->saveAttachments('/path/to/save/attachments/', false);
|
|
||||||
// return all attachments saved in the directory (exclude inline attachments)
|
|
||||||
|
|
||||||
// Save all attachments with the strategy ATTACHMENT_DUPLICATE_SUFFIX (default)
|
|
||||||
$parser->saveAttachments('/path/to/save/attachments/', false, Parser::ATTACHMENT_DUPLICATE_SUFFIX);
|
|
||||||
// return all attachments saved in the directory: logo.jpg, logo_1.jpg, ..., logo_100.jpg, YY34UFHBJ.jpg
|
|
||||||
|
|
||||||
// Save all attachments with the strategy ATTACHMENT_RANDOM_FILENAME
|
|
||||||
$parser->saveAttachments('/path/to/save/attachments/', false, Parser::ATTACHMENT_RANDOM_FILENAME);
|
|
||||||
// return all attachments saved in the directory: YY34UFHBJ.jpg and F98DBZ9FZF.jpg
|
|
||||||
|
|
||||||
// Save all attachments with the strategy ATTACHMENT_DUPLICATE_THROW
|
|
||||||
$parser->saveAttachments('/path/to/save/attachments/', false, Parser::ATTACHMENT_DUPLICATE_THROW);
|
|
||||||
// return an exception when there is attachments duplicate.
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
Get all attachments
|
|
||||||
|
|
||||||
```php
|
|
||||||
$attachments = $parser->getAttachments();
|
|
||||||
// return an array of all attachments (include inline attachments)
|
|
||||||
|
|
||||||
$attachments = $parser->getAttachments(false);
|
|
||||||
// return an array of all attachments (exclude inline attachments)
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
Loop through all the Attachments
|
|
||||||
```php
|
|
||||||
foreach ($attachments as $attachment) {
|
|
||||||
echo 'Filename : '.$attachment->getFilename().'<br />';
|
|
||||||
// return logo.jpg
|
|
||||||
|
|
||||||
echo 'Filesize : '.filesize($attach_dir.$attachment->getFilename()).'<br />';
|
|
||||||
// return 1000
|
|
||||||
|
|
||||||
echo 'Filetype : '.$attachment->getContentType().'<br />';
|
|
||||||
// return image/jpeg
|
|
||||||
|
|
||||||
echo 'MIME part string : '.$attachment->getMimePartStr().'<br />';
|
|
||||||
// return the whole MIME part of the attachment
|
|
||||||
|
|
||||||
$attachment->save('/path/to/save/myattachment/', Parser::ATTACHMENT_DUPLICATE_SUFFIX);
|
|
||||||
// return the path and the filename saved (same strategy available than saveAttachments)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Postfix configuration to manage email from a mail server
|
|
||||||
|
|
||||||
Next you need to forward emails to this script above. For that I'm using [Postfix](http://www.postfix.org/) like a mail server, you need to configure /etc/postfix/master.cf
|
|
||||||
|
|
||||||
Add this line at the end of the file (specify myhook to send all emails to the script test.php)
|
|
||||||
```
|
|
||||||
myhook unix - n n - - pipe
|
|
||||||
flags=F user=www-data argv=php -c /etc/php5/apache2/php.ini -f /var/www/test.php ${sender} ${size} ${recipient}
|
|
||||||
```
|
|
||||||
|
|
||||||
Edit this line (register myhook)
|
|
||||||
```
|
|
||||||
smtp inet n - - - - smtpd
|
|
||||||
-o content_filter=myhook:dummy
|
|
||||||
```
|
|
||||||
|
|
||||||
The php script must use the fourth method to work with this configuration.
|
|
||||||
|
|
||||||
And finally the easiest way is to use my SaaS https://mailcare.io
|
|
||||||
|
|
||||||
|
|
||||||
## Can I contribute?
|
|
||||||
|
|
||||||
Feel free to contribute!
|
|
||||||
|
|
||||||
git clone https://github.com/php-mime-mail-parser/php-mime-mail-parser
|
|
||||||
cd php-mime-mail-parser
|
|
||||||
composer install
|
|
||||||
./vendor/bin/phpunit
|
|
||||||
|
|
||||||
If you report an issue, please provide the raw email that triggered it. This helps us reproduce the issue and fix it more quickly.
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
The php-mime-mail-parser/php-mime-mail-parser is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT)
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
git clone https://github.com/php/pecl-mail-mailparse.git
|
|
||||||
cd pecl-mail-mailparse
|
|
||||||
phpize
|
|
||||||
./configure
|
|
||||||
sed -i 's/#if\s!HAVE_MBSTRING/#ifndef MBFL_MBFILTER_H/' ./mailparse.c
|
|
||||||
make
|
|
||||||
sudo mv modules/mailparse.so /home/travis/.phpenv/versions/7.3.2/lib/php/extensions/no-debug-zts-20180731/
|
|
||||||
echo 'extension=mailparse.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
{
|
|
||||||
"name": "php-mime-mail-parser/php-mime-mail-parser",
|
|
||||||
"type": "library",
|
|
||||||
"description": "A fully tested email parser for PHP 8.0+ (mailparse extension wrapper).",
|
|
||||||
"keywords": ["mime", "mail", "mailparse", "MimeMailParser", "parser", "php"],
|
|
||||||
"homepage": "https://github.com/php-mime-mail-parser/php-mime-mail-parser",
|
|
||||||
"license": "MIT",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name":"eXorus",
|
|
||||||
"email":"exorus.spam@gmail.com",
|
|
||||||
"homepage":"https://github.com/eXorus/",
|
|
||||||
"role":"Developer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name":"M.Valinskis",
|
|
||||||
"email":"M.Valins@gmail.com",
|
|
||||||
"homepage":"https://code.google.com/p/php-mime-mail-parser",
|
|
||||||
"role":"Developer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name":"eugene.emmett.wood",
|
|
||||||
"email":"gene_w@cementhorizon.com",
|
|
||||||
"homepage":"https://code.google.com/p/php-mime-mail-parser",
|
|
||||||
"role":"Developer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name":"alknetso",
|
|
||||||
"email":"alkne@gmail.com",
|
|
||||||
"homepage":"https://code.google.com/p/php-mime-mail-parser",
|
|
||||||
"role":"Developer"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name":"bucabay",
|
|
||||||
"email":"gabe@fijiwebdesign.com",
|
|
||||||
"homepage":"http://www.fijiwebdesign.com",
|
|
||||||
"role":"Developer"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"repository":{
|
|
||||||
"type":"git",
|
|
||||||
"url":"https://github.com/php-mime-mail-parser/php-mime-mail-parser.git"
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^8.0",
|
|
||||||
"ext-mailparse": "*"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"phpunit/phpunit": "^9.3",
|
|
||||||
"php-coveralls/php-coveralls": "^2.2",
|
|
||||||
"squizlabs/php_codesniffer": "^3.5"
|
|
||||||
},
|
|
||||||
"replace": {
|
|
||||||
"exorus/php-mime-mail-parser": "*",
|
|
||||||
"messaged/php-mime-mail-parser": "*"
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": { "PhpMimeMailParser\\": "src/" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,303 +0,0 @@
|
||||||
<?php
|
|
||||||
/**
|
|
||||||
* @link http://php.net/manual/en/mailparse.constants.php
|
|
||||||
*/
|
|
||||||
define('MAILPARSE_EXTRACT_OUTPUT', 0);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @link http://php.net/manual/en/mailparse.constants.php
|
|
||||||
*/
|
|
||||||
define('MAILPARSE_EXTRACT_STREAM', 1);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @link http://php.net/manual/en/mailparse.constants.php
|
|
||||||
*/
|
|
||||||
define('MAILPARSE_EXTRACT_RETURN', 2);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Parses a file. This is the optimal way of parsing a mail file that you have on
|
|
||||||
* disk.
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-parse-file.php
|
|
||||||
*
|
|
||||||
* @param string $filename Path to the file holding the message. The file is opened
|
|
||||||
* and streamed through the parser
|
|
||||||
*
|
|
||||||
* @return resource Returns a MIME resource representing the structure, or false on error
|
|
||||||
*/
|
|
||||||
function mailparse_msg_parse_file($filename)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* .
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-get-part.php
|
|
||||||
*
|
|
||||||
* @param resource $mimemail A valid MIME resource
|
|
||||||
* @param string $mimesection
|
|
||||||
*
|
|
||||||
* @return resource
|
|
||||||
*/
|
|
||||||
function mailparse_msg_get_part($mimemail, $mimesection)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* .
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-get-structure.php
|
|
||||||
*
|
|
||||||
* @param resource $mimemail A valid MIME resource
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
function mailparse_msg_get_structure($mimemail)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* .
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-get-part-data.php
|
|
||||||
*
|
|
||||||
* @param resource $mimemail A valid MIME resource
|
|
||||||
*
|
|
||||||
* @return array
|
|
||||||
*/
|
|
||||||
function mailparse_msg_get_part_data($mimemail)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* .
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-extract-part.php
|
|
||||||
*
|
|
||||||
* @param resource $mimemail A valid MIME resource
|
|
||||||
* @param string $msgbody
|
|
||||||
* @param callable $callbackfunc
|
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
*/
|
|
||||||
function mailparse_msg_extract_part($mimemail, $msgbody, $callbackfunc)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Extracts/decodes a message section from the supplied filename.
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-extract-part-file.php
|
|
||||||
*
|
|
||||||
* @param resource $mimemail A valid MIME resource, created with
|
|
||||||
* mailparse_msg_create
|
|
||||||
* @param mixed $filename Can be a file name or a valid stream resource
|
|
||||||
* @param callable $callbackfunc If set, this must be either a valid callback that
|
|
||||||
* will be passed the extracted section, or null to make this function return the
|
|
||||||
* extracted section
|
|
||||||
*
|
|
||||||
* @return string If $callbackfunc is not null returns true on success
|
|
||||||
*/
|
|
||||||
function mailparse_msg_extract_part_file($mimemail, $filename, $callbackfunc = false)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* .
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-extract-whole-part-file.php
|
|
||||||
*
|
|
||||||
* @param resource $mimemail A valid MIME resource
|
|
||||||
* @param string $filename
|
|
||||||
* @param callable $callbackfunc
|
|
||||||
*
|
|
||||||
* @return string
|
|
||||||
*/
|
|
||||||
function mailparse_msg_extract_whole_part_file($mimemail, $filename, $callbackfunc)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a MIME mail resource.
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-create.php
|
|
||||||
* @return resource Returns a handle that can be used to parse a message
|
|
||||||
*/
|
|
||||||
function mailparse_msg_create()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Frees a MIME resource.
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-free.php
|
|
||||||
*
|
|
||||||
* @param resource $mimemail A valid MIME resource allocated by
|
|
||||||
* mailparse_msg_create or mailparse_msg_parse_file
|
|
||||||
*
|
|
||||||
* @return boolean|null
|
|
||||||
*/
|
|
||||||
function mailparse_msg_free($mimemail)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Incrementally parse data into the supplied mime mail resource.
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-msg-parse.php
|
|
||||||
*
|
|
||||||
* @param resource $mimemail A valid MIME resource
|
|
||||||
* @param string $data
|
|
||||||
*
|
|
||||||
* @return boolean|null
|
|
||||||
*/
|
|
||||||
function mailparse_msg_parse($mimemail, $data)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Parses a RFC 822 compliant recipient list, such as that found in the To: header.
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-rfc822-parse-addresses.php
|
|
||||||
*
|
|
||||||
* @param string $addresses A string containing addresses, like in: Wez Furlong
|
|
||||||
* wez@example.com, doe@example.com
|
|
||||||
*
|
|
||||||
* @return array Returns an array of associative arrays with the following keys for each
|
|
||||||
* recipient: display The recipient name, for display purpose. If this part is not
|
|
||||||
* set for a recipient, this key will hold the same value as address. address The
|
|
||||||
* email address is_group true if the recipient is a newsgroup, false otherwise
|
|
||||||
*/
|
|
||||||
function mailparse_rfc822_parse_addresses($addresses)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Figures out the best way of encoding the content read from the given file
|
|
||||||
* pointer.
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-determine-best-xfer-encoding.php
|
|
||||||
*
|
|
||||||
* @param resource $fp A valid file pointer, which must be seek-able
|
|
||||||
*
|
|
||||||
* @return string Returns one of the character encodings supported by the mbstring module
|
|
||||||
*/
|
|
||||||
function mailparse_determine_best_xfer_encoding($fp)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Streams data from the source file pointer, apply $encoding and write to the
|
|
||||||
* destination file pointer.
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-stream-encode.php
|
|
||||||
*
|
|
||||||
* @param resource $sourcefp A valid file handle. The file is streamed through the
|
|
||||||
* parser
|
|
||||||
* @param resource $destfp The destination file handle in which the encoded data
|
|
||||||
* will be written
|
|
||||||
* @param string $encoding One of the character encodings supported by the mbstring
|
|
||||||
* module
|
|
||||||
*
|
|
||||||
* @return boolean|null
|
|
||||||
*/
|
|
||||||
function mailparse_stream_encode($sourcefp, $destfp, $encoding)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Scans the data from the given file pointer and extract each embedded uuencoded
|
|
||||||
* file into a temporary file.
|
|
||||||
*
|
|
||||||
* @link http://php.net/manual/en/functions.mailparse-uudecode-all.php
|
|
||||||
*
|
|
||||||
* @param resource $fp A valid file pointer
|
|
||||||
*
|
|
||||||
* @return array Returns an array of associative arrays listing filename information.
|
|
||||||
* filename Path to the temporary file name created origfilename The original
|
|
||||||
* filename, for uuencoded parts only The first filename entry is the message body.
|
|
||||||
* The next entries are the decoded uuencoded files
|
|
||||||
*/
|
|
||||||
function mailparse_uudecode_all($fp)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
function mailparse_test()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
class mimemessage
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function mimemessage()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function get_child()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function get_child_count()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function get_parent()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function extract_headers()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function extract_body()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function enum_uue()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function extract_uue()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function remove()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public function add_child()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<phpunit colors="true" bootstrap="vendor/autoload.php">
|
|
||||||
<testsuite name="eXorus PhpMimeMailParser Test Suite">
|
|
||||||
<directory suffix="Test.php">tests</directory>
|
|
||||||
</testsuite>
|
|
||||||
</phpunit>
|
|
||||||
Loading…
Reference in New Issue