1
22
23 package com.liferay.util.mail;
24
25 import com.liferay.portal.kernel.util.StringPool;
26 import com.liferay.portal.kernel.util.Validator;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31 import javax.mail.Address;
32 import javax.mail.internet.InternetAddress;
33
34 import org.apache.commons.validator.EmailValidator;
35
36
42 public class InternetAddressUtil {
43
44 public static boolean contains(
45 InternetAddress[] internetAddresses, String emailAddress) {
46
47 if ((internetAddresses != null) && Validator.isNotNull(emailAddress)) {
48 for (int i = 0; i < internetAddresses.length; i++) {
49 if (emailAddress.equals(internetAddresses[i].getAddress())) {
50 return true;
51 }
52 }
53 }
54
55 return false;
56 }
57
58 public static boolean isValid(String emailAddress) {
59 return EmailValidator.getInstance().isValid(emailAddress);
60 }
61
62 public static InternetAddress[] removeEntry(
63 Address[] addresses, String emailAddress) {
64
65 InternetAddress[] internetAddresses = (InternetAddress[])addresses;
66
67 List<InternetAddress> list = new ArrayList<InternetAddress>();
68
69 if ((internetAddresses == null) || Validator.isNull(emailAddress)) {
70 return internetAddresses;
71 }
72
73 for (int i = 0; i < internetAddresses.length; i++) {
74 if (!emailAddress.equals(internetAddresses[i].getAddress())) {
75 list.add(internetAddresses[i]);
76 }
77 }
78
79 return list.toArray(new InternetAddress[list.size()]);
80 }
81
82 public static String toString(Address address) {
83 InternetAddress internetAddress = (InternetAddress)address;
84
85 if (internetAddress != null) {
86 StringBuilder sb = new StringBuilder();
87
88 String personal = internetAddress.getPersonal();
89 String emailAddress = internetAddress.getAddress();
90
91 if (Validator.isNotNull(personal)) {
92 sb.append(personal + StringPool.SPACE);
93 sb.append(StringPool.LESS_THAN);
94 sb.append(emailAddress);
95 sb.append(StringPool.GREATER_THAN);
96 }
97 else {
98 sb.append(emailAddress);
99 }
100
101 return sb.toString();
102 }
103
104 return StringPool.BLANK;
105 }
106
107 public static String toString(Address[] addresses) {
108 StringBuilder sb = new StringBuilder();
109
110 if (addresses != null) {
111 for (int i = 0; i < addresses.length; i++) {
112 sb.append(toString(addresses[i]));
113
114 if (i < addresses.length - 1) {
115 sb.append(StringPool.COMMA);
116 sb.append(StringPool.NBSP);
117 }
118 }
119 }
120
121 return sb.toString();
122 }
123
124 }