gpt4 book ai didi

php - WampServer : Warning: mail(): SMTP server response: 530 5. 7.0 必须先发出 STARTTLS 命令

转载 作者:行者123 更新时间:2023-12-05 07:51:12 29 4
gpt4 key购买 nike

我在使用 WampServer 时遇到问题,我尝试创建一个联系表单,但它不起作用。 BIOS 停止识别我的 2GB RAM 芯片,因此我的系统认为它是 32 位而不是 64 位。这是 PHP 错误表:

( ! ) Warning: mail(): SMTP server response: 530 5.7.0 Must issue a STARTTLS command first. 8sm9902426ioe.8 - gsmtp in C:\Users\miner\Desktop\Configuration Creator\www\contact\mail.php on line 10
Call Stack
# Time Memory Function Location
1 0.0004 245672 {main}( ) ..\mail.php:0
2 0.0004 246648 mail ( ) ..\mail.php:10

这是我的代码:

联系人.html

<form action="mail.php" method="POST">
<input type="text" class="form-control" name="name" placeholder="Name">
<div class="padded-bottom"></div>
<input type="text" class="form-control" name="email" placeholder="Email">
<div class="padded-bottom"></div>
<input type="text" class="form-control" name="subject" placeholder="Subject">
<div class="padded-bottom"></div>
<textarea type="text" class="form-control no-resize paragraph" rows="8" name="message" placeholder="Message"></textarea>
<div class="padded-bottom"></div>
<button type="submit" class="btn btn-default">Submit</button> <button type="reset" class="btn btn-default">Clear Form</button>
</form>

邮件.php

<?php
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$from = 'From: '. $name;
$to = 'email@example.com';
$subject = $subject;
$body = "From: $name\n Email: $email\n Message:\n $message";
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong. Please manually <a href="mailto:email@example.com">email me</a> and include a screenshot/copy of the log above.</p>';
}
?>

最后是 php.ini

[mail function]
; For Win32 only.
; http://php.net/smtp
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 587

; For Win32 only.
; http://php.net/sendmail-from
sendmail_from = email@example.com

抱歉,如果重复,我的问题与其他问题不同。

最佳答案

尝试改变这个

; http://php.net/smtp
SMTP = smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 587

对此(变体#1):

; http://php.net/smtp
SMTP = ssl://smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 465

或对此(变体#2):

; http://php.net/smtp
SMTP = tls://smtp.gmail.com
; http://php.net/smtp-port
smtp_port = 587

我的一个变体应该适合你。

但我不建议使用 mail() 函数,Wamp 更是如此(套接字将是很好的解决方案)。

更新

您真的将 Gmail smtp-service 与 mail() 一起使用,还是仅发布 Gmail?要使用 Gmail smtp-service,您需要身份验证(密码+用户名),但 mail() 函数不支持它。您需要基于sockets编写个人邮件功能或使用现成的解决方案如hMailServer并使用该软件发送邮件(hMailServer creditnails应写入php.ini)。

关于php - WampServer : Warning: mail(): SMTP server response: 530 5. 7.0 必须先发出 STARTTLS 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35249439/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com