晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/rainic/www/oldTZh/wp-content/plugins/elementor-pro/core/integrations/actions/email/ |
Upload File : |
<?php
namespace ElementorPro\Core\Integrations\Actions\Email;
use ElementorPro\Core\Integrations\Actions\Action_Base;
use ElementorPro\Core\Integrations\Exceptions\Action_Failed_Exception;
use ElementorPro\Core\Integrations\Exceptions\Action_Validation_Failed_Exception;
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly
}
class Email extends Action_Base {
/**
* @param Email_Message $payload
*
* @return void
* @throws \Exception
*/
public function apply( $payload ) {
// Set default headers.
$headers = [
sprintf( 'Content-Type: %s; charset=UTF-8', $payload->content_type ),
sprintf( 'From: %s', $payload->from->format() ),
];
foreach ( $payload->reply_to as $recipient ) {
$headers[] = sprintf( 'Reply-To: %s', $recipient->format() );
}
// Set CC headers.
$cc_headers = [];
foreach ( $payload->cc as $recipient ) {
$cc_headers[] = sprintf( 'Cc: %s', $recipient->format() );
}
// Send email.
$this->send_mail(
$payload->to->format(),
$payload->subject,
$payload->body,
implode( PHP_EOL, array_merge( $headers, $cc_headers ) ),
$payload->attachments
);
// Send BCC emails.
foreach ( $payload->bcc as $bcc ) {
$this->send_mail(
$bcc->format(),
$payload->subject,
$payload->body,
implode( PHP_EOL, $headers ),
$payload->attachments
);
}
}
/**
* @alias `$this->run()`
*
* @param Email_Message $payload
*
* @return void
*@throws \Exception
*
*/
public function send( Email_Message $payload ) {
$this->run( $payload );
}
/**
* Validate the email message DTO.
*
* @param Email_Message $payload
*
* @throws \ElementorPro\Core\Integrations\Exceptions\Action_Validation_Failed_Exception
*
* @return void
*/
public function validate( $payload ) {
$required_fields = [
'from',
'to',
'subject',
'body',
'content_type',
];
foreach ( $required_fields as $field ) {
if ( empty( $payload->{$field} ) ) {
throw new Action_Validation_Failed_Exception(
static::class,
"`Email_Message::\${$field}` is required."
);
}
}
}
/**
* Calls `wp_mail()`. Used for testing.
*
* @param mixed ...$args
*
* @return void
*/
protected function send_mail( ...$args ) {
add_action( 'wp_mail_failed', [ $this, 'on_wp_mail_error' ] );
wp_mail( ...$args );
remove_action( 'wp_mail_failed', [ $this, 'on_wp_mail_error' ] );
}
/**
* Throw exception on `wp_mail()` error.
*
* @param \WP_Error $error
*
* @throws \ElementorPro\Core\Integrations\Exceptions\Action_Failed_Exception
*
* @return void
*/
public function on_wp_mail_error( \WP_Error $error ) {
throw new Action_Failed_Exception( static::class, '`wp_mail()` cannot send email', $error );
}
}