func NewEmailOnlyGroups(p P) *E {
	e := NewActiveGroups(p)
	c := []string{
		"groups.Group_Name IS NOT EMPTY",
		"supporter.Email IS NOT EMPTY",
		"supporter.Email LIKE %@%.%",
	}
	e.Conditions = c
	return e
}
//NewEmailOnlyGroups instantiates an environment for copying Groups and Emails
//to CSV files where the only requirement is that a supporter has an email.
//There is no requirement for being able to deliver to the supporter.
NewEmailOnlyGroups instantiates an environment for copying Groups and Emails
to CSV files where the only requirement is that a supporter has an email.
There is no requirement for being able to deliver to the supporter.
// NewEmailOnlyGroups instantiates an environment for copying Groups and Emails // to CSV files where the only requirement is that a supporter has an email . // There is no requirement for being able to deliver to the supporter .
func NewEmailOnlyGroups(p P) *E {
	e := NewActiveGroups(p)
	c := []string{
		"groups.Group_Name IS NOT EMPTY",
		"supporter.Email IS NOT EMPTY",
		"supporter.Email LIKE %@%.%",
	}
	e.Conditions = c
	return e
}
func NewEmailOnlyGroups ( p P ) * E { e := NewActiveGroups ( p ) c := [ ] string { " " , " " , " " , } e . Conditions = c return e }
NewEmailOnlyGroups instantiates an environment for copying Groups and Emails
to CSV files where the only requirement is that a supporter has an email.
NewEmailOnlyGroups instantiates an environment for copying Groups and Emails to CSV files where the only requirement is that a supporter has an email .