你让事情变得比需要的更复杂了。
WP Mail SMTP是一个插件,允许您拥有WPwp_mail()
函数通过SMTP帐户发送,而不依赖web服务器。
在这种情况下,您不会对WP Mail SMTP执行任何特定操作。你要做的是使用wp_mail()
- 结果是通用的,所以无论您使用的是WP Mail SMTP、其他插件还是没有插件,都没有关系。一切都一样。
所以你真正需要知道的是如何使用wp_mail()
, which is documented here. 由于您使用的是WP Mail SMTP,因此您通过wp_mail()
将通过插件中指定的帐户。
您的问题确实缺乏一些具体的细节,包括您具体在做什么(即您希望表单如何工作)以及您实际知道如何做(您知道PHP吗?我想您知道)。所以,我将回答你的问题,并假设你知道如何获得形式$_POST
结果以及如何为此处理PHP。
无论您将表单发布到何处,如果它是非WP页面,您都需要确保已加载WordPress才能使用wp_mail()
函数发送表单结果。因此,无论是原始页面本身还是另一个“thank\\u you”类型的页面,无论哪种方式,它都需要是PHP。
<?php
// Not loading WP templates...
define( \'WP_USE_THEMES\', false );
// Load WordPress Core (make sure the path is correct)
require_once( \'path/to/wp-load.php\' );
// Assume you know how to check if the form is posted, so this is generic...
if ( $_POST ) {
$to = \'[email protected]\';
$subject = \'Someone sent you a message!\';
// Build the body based on your form...
$name = sanitize_text_field( $_POST[\'name\'] );
$email = sanitize_email( $_POST[\'email\'] );
$body = sanitize_textarea( $_POST[\'message\'] );
$message = "Someone filled out your form as follows: \\r\\n\\r\\n";
$message.= "name: $name \\r\\n";
$message.= "email: $email \\r\\rn";
$message.= "the message: \\r\\n";
$message.= $body;
// Send the message...
wp_mail( $to, $subject, $message );
}