Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHPMailer向可变地址发送电子邮件_Php_Variables_Phpmailer - Fatal编程技术网

使用PHPMailer向可变地址发送电子邮件

使用PHPMailer向可变地址发送电子邮件,php,variables,phpmailer,Php,Variables,Phpmailer,我已经创建了一个表单,完成后,他们会被要求从下拉列表中选择希望通过电子邮件发送给的人 我的问题是如何将该变量添加到$mailer中 现在是这样写的 $mailer -> AddAddress('email@email.com','First Last'); 如何将变量放入其中 $mailer -> AddAddress($emailAddress) - Doesn't work. 我也试过了 “$emailAddress”-这给了我-无效地址:”email@email.com这是

我已经创建了一个表单,完成后,他们会被要求从下拉列表中选择希望通过电子邮件发送给的人

我的问题是如何将该变量添加到$mailer中

现在是这样写的

$mailer -> AddAddress('email@email.com','First Last');
如何将变量放入其中

$mailer -> AddAddress($emailAddress) - Doesn't work.
我也试过了

“$emailAddress”-这给了我-无效地址:”email@email.com这是令人沮丧的,因为这是它正在寻找的格式

谢谢,让我知道

这是我用来打电话给电子邮件的完整代码

$mail->Host       = "mail.yourdomain.com"; // SMTP server
$mail->SMTPDebug  = 2;                     // enables SMTP debug information (for testing)
$mail->SMTPAuth   = true;                  // enable SMTP authentication
$mail->Host       = "mail.yourdomain.com"; // sets the SMTP server
$mail->Port       = 26;                    // set the SMTP port for the GMAIL server
$mail->Username   = "yourname@yourdomain"; // SMTP account username
$mail->Password   = "yourpassword";        // SMTP account password
$mail->AddReplyTo('name@yourdomain.com', 'First Last');
$mail->AddAddress('whoto@otherdomain.com', 'John Doe');
$mail->SetFrom('name@yourdomain.com', 'First Last');
$mail->AddReplyTo('name@yourdomain.com', 'First Last');
$mail->Subject = 'PHPMailer Test Subject via mail(), advanced';
$mail->AltBody = 'To view the message, please use an HTML compatible email viewer!'; //     optional - MsgHTML will create an alternate automatically
$mail->MsgHTML(file_get_contents('contents.html'));
$mail->AddAttachment('images/phpmailer.gif');      // attachment
$mail->AddAttachment('images/phpmailer_mini.gif'); // attachment
$mail->Send();
试着做一个测试

var_dump($emailAddress);
就在->AddAddress调用之前,查看结果。如果在函数中执行此操作,则可能没有将$emailAddress作为参数传入,或者忘记将其设置为全局

同样,不要用双引号括住电子邮件地址。没有必要:

$emailAddress = 'email@email.com';  // correct
$emailAddress = "email@email.com"; // correct
$emailAddress = '"email@email.com"'; // incorrect
$emailAddress = "\"email@email.com\""; // incorrect.

如果$emailAddress来自帖子,请在该值周围使用斜杠

确保“选择”框在标记中具有正确的值,并检查视图源


按照建议,回显变量以检查它。

我让它工作,我的值有问题

实际上有一对

让我们只说一些拼写是错误的


谢谢你提供的所有信息

下面给出的代码非常适合我


$mail->AddAddress$_POST['email'];//直接用phpmailer传递html表单中的值。

试试strval$emailAddress,对我有用。

$mailer->AddAddress$emailAddress;如果$emailAddress=email@email.com; 您是否尝试在$mailer->AddAddress$emailAddress;附近的代码中回显$emailAddess?你能告诉我们什么不起作用吗?我做了回音,然后页面崩溃了。我还尝试了一些疯狂的做法,在html下拉列表中使用带有单引号的变量,然后在$mailer中调用该变量,但这也不起作用。每次我使用除特定地址以外的任何内容时,都会收到无效地址email@email.com“。我还尝试使用ASCII代码调用单引号,单引号也会在值中生成\&39; 我没有试过&145&146; 不过,我现在就试试。var_dump$emailAddress-email@email.com然后是地址无效,我发现它需要单引号才能真正接受电子邮件的有效性。这就是我的问题所在,因为如果我使用单引号,我就不能再使用变量了。确切的错误消息是什么?只有两个地方可以从phpmailer输出无效地址,一个是私有方法AddAnAddress,另一个是公共方法SetFromI。我正在将POST转换为全局会话,然后将其放入数组中。从那里,我将会话调用为变量,然后回显变量。当我收到回声时,它会很好地恢复过来。当我尝试用斜杠转义时,我得到了实际变量中的斜杠。\'email@email.com\“我有自己的邮递员课程。但是,它们基本上都做相同的事情:构建一个头,清理一些变量,然后调用邮件。您可以编辑$mail类以向收件人回显mail的第一个参数。