我正在尝试制作一个用户注册表单,用于检查密码字段的复杂程度.我根据文档编写了一个自定义验证器.此文件位于User\src\User\Validator的"用户"模块中.
<?php
namespace User\Validator;
use Zend\Validator\AbstractValidator;
class PasswordStrength extends AbstractValidator {
const LENGTH = 'length';
const UPPER = 'upper';
const LOWER = 'lower';
const DIGIT = 'digit';
protected $messageTemplates = array(
self::LENGTH => "'%value%' must be at least 6 characters long",
self::UPPER => "'%value% must contain at least one uppercase letter",
self::LOWER => "'%value% must contain at least one lowercase letter",
self::DIGIT => "'%value% must contain at least one digit letter"
);
public function isValid($value) {
... validation …Run Code Online (Sandbox Code Playgroud) 我正在使用Rails 3.2.13并一直关注ActionMailer指南(http://guides.rubyonrails.org/action_mailer_basics.html#sending-emails-with-attachments),但我在发送电子邮件时遇到了困难附件.
执行后,电子邮件正常发送,但附件始终已损坏.特别是,我看到呈现的电子邮件和附件的正确文件名,但作为1KB文件无法打开.我已经看到了堆栈溢出和其他地方的类似问题(例如Rails 3:发送邮件附件 - 第一次发送后损坏的文件和Rails 3.0.7 ActionMailer附件问题),但是所提供的解决方案都没有提供帮助.我尝试了两种不同的传输方式(Gmail SMTP和Sendgrid),多种文件类型(png,pdf等),以及内联和普通附件,但总是具有相同的效果.
这是邮件的代码:
class UserMailer < ActionMailer::Base
# A hash of default values for email messages
default from: "me@mysite.com"
def welcome_email(user)
@user = user
@url = "http://localhost:3000"
attachments['logo_email.png'] = File.read("public/img/logo_email.png")
mail(:to => user.email, :subject => "Welcome")
end
end
Run Code Online (Sandbox Code Playgroud)
我在我的控制器中调用它看起来像这样(我在这里使用delayed_job,但即使没有它,附件也会被破坏):
UserMailer.delay.welcome_email(@user)
Run Code Online (Sandbox Code Playgroud)