标签: contact-form

Github与jekyll联系表格?

我打算在github上构建和部署静态站点.如果我这样做,是否仍然可以有联系表格?

它似乎是我的特定网站上唯一存在的动态功能集.

我是否必须在其他地方创建服务来创建联系表单?

jekyll contact-form

28
推荐指数
2
解决办法
2万
查看次数

在Rails中联系Form Mailer 4

我正在尝试在Rails 4中构建一个联系表单,其中表单采用名称,电子邮件和正文,并将其发送到我的电子邮件地址.单击"提交"后,应用程序会正确地重定向回"联系人"页面,但似乎没有电子邮件发送.

的routes.rb

match '/send_mail', to: 'contact#send_mail', via: 'post'
Run Code Online (Sandbox Code Playgroud)

contact_email.html.erb

<!DOCTYPE html>
<html>
    <head>
        <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
        <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
        <p>You have received the following email from <%= "#{ @name } (#{ @email }):" %></p>
        <p><%= @body %></p>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

contact_controller.rb

def send_mail
    name = params[:name]
    email = params[:email]
    body = params[:comments]
    ContactMailer.contact_email(name, email, body).deliver
    redirect_to contact_path, notice: 'Message sent'
end
Run Code Online (Sandbox Code Playgroud)

contact_mailer.rb

class ContactMailer …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails actionmailer contact-form ruby-on-rails-4

20
推荐指数
1
解决办法
1万
查看次数

电子邮件,与发件人地址不同的"回复"地址

我有一个contact form网站(一般形式:姓名,电子邮件,主题,消息),其中邮件使用谷歌应用程序 smtp发送给管理员.
目前,如果管理员想直接选择回复选项来回复邮件,则该人的回复" 收件人"字段将自动填写发件人的地址.

我不想问的是,是否有任何标准化的方式来传递邮件的一些额外信息,这将定义对邮件的任何回复应该转到此地址而不是发件人的?

看起来这个选项似乎有一点机会,因为它可能会因垃圾邮件发送者而导致一些问题(他们可能会在邮件中定义自定义回复字段,而普通用户可能看不到他们回复的位置).

所以作为一种替代方案我想到的是找到一种方法来创建一个带有发件人帐户的过滤器,它从格式中找出回复电子邮件地址并转发邮件(似乎不是一个好的解决方案,我不知道如何实现这个).

我已经标记了django,虽然这与此没有直接关系,因为我最终将通过django实现这一点.

email django contact-form

10
推荐指数
1
解决办法
7941
查看次数

联系表格电子邮件中的主题的UTF-8编码

在这个网站链接联系表格我需要发送电子邮件主题UTF-8.我们需要在代码中声明UTF-8编码的位置?

kontakt.php:

<?
require_once "php/sendmail.class.php";
$sendmail = new sendMail();
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$sendmail->setParams($_POST);
$sendmail->parseBody();
$sendmail->setHeaders();
if ($sendmail->send())
{
    header('Location: kontakt.php?success=1');
}
}
?>
Run Code Online (Sandbox Code Playgroud)

sendmail.class.php:

class sendMail {

var $to      = 'email'; // set contact email

var $name    = '';
var $subject = '';
var $email   = '';
var $body    = '';
var $error   = array();
var $headers = array();

function setHeaders()
{
    $this->headers = "From: $this->email\r\n";
    $this->headers.= "MIME-Version: 1.0\r\n";
    $this->headers.= "Content-type: text/html; charset=UTF-8\r\n";
}

function parseBody() …
Run Code Online (Sandbox Code Playgroud)

php utf-8 contact-form

8
推荐指数
1
解决办法
2万
查看次数

如何在Laravel中填充HTML表单中的字段?

我正在构建一个表单,我想在其中填充来自表单的字段(我已命名posting.blade.php)

我用过的控制器是:

public function store(Request $request)
{
    $this->validate($request, [
    'name' => 'required',
    'email' => 'required|email',
    'number' => 'required',
    'city' => 'required',
    'post' => 'required'
    ]);

    Mail::send('emails.posting-message', [
    'msg'=> $request->message
    ], function($mail) use($request) {
        $mail->from($request->email, $request->name);
        $mail->to('helloworld@gmail.com')->subject('Contact Message');
    });
    return redirect()->back()->with('flash_message', 'Thank you for your message');
}
Run Code Online (Sandbox Code Playgroud)


问题陈述:

当前控制器不返回任何内容,因为在行'msg'=> $request->message中没有消息验证.但是,如果我使用

'msg'=> $request->name (它返回名称)

我想知道我应该在控制器中做出哪些更改,以便它返回验证中存在的每个字段.

我试过这个,但它只返回最后一个值,即post.

       'msg'=> $request->name,
       'msg'=> $request->email,
       'msg'=> $request->number,
       'msg'=> $request->city,
       'msg'=> $request->post
Run Code Online (Sandbox Code Playgroud)

php forms contact-form laravel laravel-5.4

8
推荐指数
1
解决办法
1321
查看次数

在没有mysql_real_escape_string的情况下清理联系表单

我通常使用此函数来清理表单输入,然后将它们存储到我的数据库中:

//Function to sanitize values received from the form. Prevents SQL injection
function clean($str) {
    $str = @trim($str);
    if(get_magic_quotes_gpc()) {
        $str = stripslashes($str);
    }
    return mysql_real_escape_string($str);
}
Run Code Online (Sandbox Code Playgroud)

直到今天,我还没有意识到mysql_real_escape_string需要数据库连接,因为我在将数据存储到数据库之前清理数据时只使用了它.

我尝试在联系表单上使用该功能,并得到"无法建立到服务器的链接"错误.我可以连接到数据库,但没有必要,因为我只是在通过联系表单发送到我的电子邮件之前尝试清理数据.

清理未存储在mysql数据库中的数据的最佳方法是什么?这些数据是否仍需要清理?

php forms security sanitize contact-form

7
推荐指数
1
解决办法
5997
查看次数

使用Swiftmailer的PHP驱动的HTML联系表单有多安全?

我的网站上有一个PHP驱动的HTML联系表单.目前我使用PHP mail()函数.因此,我必须做许多用户输入验证,以避免电子邮件头注入攻击.我认为我很安全,但我可能忘了一些东西,我想转移到一个可靠的PHP电子邮件库.我选择的库是Swiftmailer.

现在我想检查Swiftmailer是否解决了以下问题:

  1. 删除或逃避<,并>在发送者名称的字符.
  2. 从发件人名称中删除换行符(\n,\r\n...).
  3. 从电子邮件主题中删除或转义换行符.
  4. 规范化邮件正文中的换行符(电子邮件的内容).根据PHP文档,\n应该在内容和\r\n电子邮件标题分隔符中使用.

PS:我试图联系Swiftmailer团队,我的问题没有成功,所以我在这里尝试.

编辑:

我用Swiftmailer做了一些测试用例,这是我到目前为止所发现的:

  1. 当您拥有<>以发件人的名义时,您将收到无法发送的电子邮件错误邮件.这可能会导致你的邮件服务器的DOS攻击(也许我错了).这是正常的吗?!
  2. 换行符被转义,因此注入攻击失败.
  3. 换行符被转义,因此注入攻击失败.
  4. 测试但我无法看到Swiftmailer做什么(如果它做了什么).所以我在这里仍然处于黑暗中.

有人可以为我澄清#1和#4吗?我不确定这是否正常......

php security swiftmailer contact-form email-injection

7
推荐指数
1
解决办法
1622
查看次数

用php联系表格回复地址

我买了一个简单的网站模板与php联系表格.实际接收通过表单发送的消息的一个小例外,一切都很好.也就是说,联系表单会显示成功消息,但消息永远不会到达.

经过我的托管服务的漫长反复,我发现为了避免欺骗,他们不允许在他们不主持的FROM地址发送电子邮件.也就是说,如果该网站的访问者在表单中写下他的gmail/yahoo等,我将无法得到它.

他们建议使用托管在其中的电子邮件地址作为FROM地址,并将访问者的输入电子邮件作为REPLY-TO地址.这看似合理.

所以我挖了一下(例如这里: PHP回复错误 - 附带管理员电子邮件而非联系表格的发件人网站上的php联系表格以及回复电子邮件)

并且答案提示添加标题组件:

$headers = 'From: webmaster@example.com' . "\r\n" .
    'Reply-To: webmaster@example.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();
Run Code Online (Sandbox Code Playgroud)

并将其添加到

mail($to, $subject, $message, $headers);
Run Code Online (Sandbox Code Playgroud)

这就是我做的.$ email在此模板中定义为访问者的电子邮件,因此我所做的是:

$subject = "Contact Form: $name";
$message = "$message";
$headers = 'From: myemail@my_domain.com' . "\r\n" .
    'Reply-To: $email' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
Run Code Online (Sandbox Code Playgroud)

这一切都很好,花花公子,但它仍然不能很好地工作.电子邮件现在通过,但细节是:

from:    myemail@my_domain.com via servername.hosting_company.com 
**reply-to:  $email@servername.hosting_company.com**
to:  myemail@my_domain.com
Run Code Online (Sandbox Code Playgroud)

所以,回复地址仍然不是访客留下的.

你能帮帮我吗?不知道我还能做些什么.

非常感谢!


如果有人有兴趣,这里是完整的PHP文件:

<?php

// Clean …
Run Code Online (Sandbox Code Playgroud)

php forms email contact-form

7
推荐指数
1
解决办法
3万
查看次数

使用python通过Django发送Godaddy电子邮件

我有这些设置

EMAIL_HOST = 'smtpout.secureserver.net'
EMAIL_HOST_USER = 'username@domain.com'
EMAIL_HOST_PASSWORD = 'password'
DEFAULT_FROM_EMAIL = 'username@domain.com'
SERVER_EMAIL = 'username@domain.com'
EMAIL_PORT = 465
EMAIL_USE_TLS = True
SMTP_SSL = True
Run Code Online (Sandbox Code Playgroud)

与 Godaddy 交谈时,我发现这些是端口和设置

smtpout.secureserver.net
ssl
465

587
TLS ON

3535
TLS ON

25
TLS ON

80
TLS ON
or
TLS OFF
Run Code Online (Sandbox Code Playgroud)

我已经尝试了所有的组合。如果我将 TLS 设置为 True,我会得到

STARTTLS extension not supported by the server.
Run Code Online (Sandbox Code Playgroud)

如果我设置为 465 我得到

连接关闭

如果我设置其他组合,如

EMAIL_HOST = 'smtpout.secureserver.net'
EMAIL_HOST_USER = 'username@domain.com'
EMAIL_HOST_PASSWORD = 'password'
DEFAULT_FROM_EMAIL = 'username@domain.com'
SERVER_EMAIL = 'username@domain.com'
EMAIL_PORT = 25
EMAIL_USE_TLS …
Run Code Online (Sandbox Code Playgroud)

python email django smtp contact-form

7
推荐指数
1
解决办法
2840
查看次数

简单的PHP提交表单不起作用

只是制作一个简单的提交表单,似乎无法使其正常工作.

它甚至不会报告奇怪的错误.

检查了php.ini,一切看起来都很好.

HTML:

<form id="submit-form" action="receiving.php" method="POST">
        <h3>Submit a Link</h3>
        <fieldset>
            <table>
                <tr>
                    <td><label for="name">You</label></td>
                    <td><input id="name" name="name" type="text" placeholder="Your Twitter or Blog ect." /></td>
                </tr>
                <tr>
                    <td><label for="submit-links">Link(s)</label></td>
                    <td><input id="sumbit-links" name="submit-links" type="text" placeholder="" required="" /></td>
                </tr>
                <tr>
                    <td><input name="submit" type="submit" value="SUBMIT" /></td>
                </tr>
            </table>
        </fieldset>
    </form>
Run Code Online (Sandbox Code Playgroud)

receiving.php:

<?php 
error_reporting(-1);
$name = $_POST['name']; 
$submit-links = $_POST['submit-links']; 
if(isset($_POST['submit'])){
 $from_add = "submit@webdesignrepo.com"; 
 $to_add = "ben@webdesignrepo.com"; 
 $subject = "Your Subject Name";

 $message = "Name:$name \n Sites: $submit-links";

 $headers = 'From: submit@webdesignrepo.com' . …
Run Code Online (Sandbox Code Playgroud)

php forms submit form-submit contact-form

6
推荐指数
2
解决办法
3万
查看次数