55 lines
1.5 KiB
PHP
55 lines
1.5 KiB
PHP
#!/usr/bin/php -q
|
|
<?php
|
|
/**
|
|
* @brief Handle incoming email that has been piped to this script
|
|
* @author <a href='https://www.invisioncommunity.com'>Invision Power Services, Inc.</a>
|
|
* @copyright (c) Invision Power Services, Inc.
|
|
* @license https://www.invisioncommunity.com/legal/standards/
|
|
* @package Invision Community
|
|
* @since 12 June 2013
|
|
*/
|
|
|
|
/* Get init.php */
|
|
define('REPORT_EXCEPTIONS', TRUE);
|
|
require_once str_replace( 'applications/core/interface/incomingemail/piping.php', '', str_replace( '\\', '/', __FILE__ ) ) . 'init.php';
|
|
|
|
/**
|
|
* Write the incoming email to a file for debug purposes?
|
|
* Supply a path to the file to write to, filename included.
|
|
*/
|
|
$writeDebug = NULL;
|
|
|
|
/**
|
|
* Read email content from a file for debug purposes?
|
|
* Supply a path to the file to read from.
|
|
*/
|
|
$readDebug = NULL;
|
|
|
|
/* Get the email content */
|
|
$email = file_get_contents( ( is_string($readDebug) ) ? $readDebug : 'php://stdin' );
|
|
|
|
/* Write the debug, if desired.
|
|
Note that writing files to disk directly in production is discouraged and that this should only be used for debugging purposes. */
|
|
if( is_string( $writeDebug ) )
|
|
{
|
|
\file_put_contents( $writeDebug, $email );
|
|
}
|
|
|
|
/* Are we attempting to override the "to" value? */
|
|
$override = array();
|
|
|
|
if ( isset( $_SERVER['argv'][1] ) )
|
|
{
|
|
$override['to'] = array( $_SERVER['argv'][1] );
|
|
}
|
|
|
|
/* Parse the email and route */
|
|
$incomingEmail = new \IPS\Email\Incoming\Email( $email );
|
|
if ( isset( $override['to'] ) )
|
|
{
|
|
$incomingEmail->to = $override['to'];
|
|
}
|
|
$incomingEmail->route();
|
|
|
|
exit;
|