使用sendgrid通过SMTP发送电子邮件

时间:2019-02-11 16:56:18

标签: php html email sendgrid

我有一个html字段集和一个简短的php文件,用于在单击“提交”按钮时通过sendgrid发送电子邮件。

HTML

const bool equal = (0 == std::memcmp(array+2, "\x28\xff\xaf\x00\x00\x00", 6));

PHP

            <form id="contact-form" action="scripts/mailer.php" method="post">
                <fieldset form="#contact-form">
                    <legend>Contact Form</legend>
                    <label class="input-field-name">Name:<br />
                        <input class="input-field" type="text" name="name" required/>
                    </label><br />
                    <label class="input-field-name">Email:<br />
                        <input class="input-field" type="text" name="email" required/>
                    </label><br />
                    <label class="input-field-name">Message Title:<br />
                        <input class="input-field" type="text" name="header" required/>
                    </label><br />
                    <label class="input-field-name">Message:<br />
                        <textarea class="message-field" type="text" name="message" required></textarea>                            
                    </label><br />
                    <button id="submit-button" type="submit">Submit</button>
                </fieldset>
            </form>

我将自己的网站托管在GoDaddy上,从我阅读过的所有内容中,我相信这应该可以工作,但是我收到了HTTP错误500,但我的网站无法处理此请求。

关于如何解决此问题的任何想法?谢谢

1 个答案:

答案 0 :(得分:0)

我管理的服务器之一是GoDaddy,当使用SendGrid的SMTP服务发送电子邮件时,设置以下其他字段是关键:

public class MongoTest {
    public static void main(String[] args) {
        MongoClient client = MongoClients.create();
        MongoDatabase testDb = client.getDatabase("test");
        MongoCollection<Document> collectionA = testDb.getCollection("test");
        MongoCollection<Document> collectionB = testDb.getCollection("runoob");

        Document first = collectionA.find().first();
        Date lastOptTime = first.getDate("lastOptTime");

        ObjectId fakeObjectId = objectIdFromDate(lastOptTime);

        FindIterable<Document> documents =
                collectionB.find(Filters.gte("_id", fakeObjectId));
        for (Document document : documents) {
            System.out.println(document);
        }
    }

    public static ObjectId objectIdFromDate(Date date) {
        long second = date.getTime() / 1000;
        return new ObjectId(String.format("%02x", second) + "0000000000000000");
    }
}

设置用户名时,请使用如上所示的字符串“ apikey”,而不要使用实际的apikey。当使用端口587时,GoDaddy似乎运行良好,当将主机设置为上述端口时,它将安全地发送电子邮件。

此后,您的电子邮件应该可以使用了。祝你好运。