电子邮件地址解析

来自 PostgreSQL Wiki
跳转到导航跳转到搜索

库片段

解析电子邮件地址的函数

适用于 PostgreSQL

任何版本

PL/Perl

依赖于

Email::Address

此函数从电子邮件地址中提取真实姓名。通过略微调整,可以提取其他组件,例如本地部分或主机名。依靠经过充分测试的 Perl 模块,与手工制作的模式匹配方法相比,此函数具有极高的健壮性。

CREATE OR REPLACE FUNCTION email_name(email text) RETURNS text
LANGUAGE plperlu
AS $$
use Email::Address;

my @addresses = Email::Address->parse($_[0]);
return undef unless scalar(@addresses) > 0;
return $addresses[0]->name;
$$;