使用PHPMailer向可变地址发送电子邮件
我已经创建了一个表单,完成后,他们会被要求从下拉列表中选择希望通过电子邮件发送给的人 我的问题是如何将该变量添加到$mailer中 现在是这样写的使用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 -> 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的第一个参数。